RDFとOWLの違いは何ですか?[閉まっている]


191

セマンティックウェブの概念を理解しようとしています。RDFとOWLの違いを正確に理解するのは難しいと感じています。OWLはRDFの拡張ですか、またはこれら2つはまったく異なるテクノロジーですか?


私は個人的に、このスライドデッキは非常に便利で理解しやすいものだと感じました。slideshare.net
rlovinger

回答:


272

セマンティックWebは層状になっています。これはあなたが興味を持っていると思うものの簡単な要約です。

更新:RDFSは、OWL ではなく、データの構造を定義するために使用されることに注意してください。OWLは、C構造体などの通常のプログラミングでは問題にならず、AIの研究と集合論に近い意味関係を記述します。

トリプルとURI

Subject - Predicate - Object

これらは単一の事実を説明しています。一般に、URIは主語と述語に使用されます。オブジェクトは、別のURIか、数値や文字列などのリテラルです。リテラルはタイプ(URIでもある)を持つことができ、言語も持つことができます。はい、これはトリプルが最大5ビットのデータを持つことができることを意味します!

たとえば、トリプルはチャールズがハリーズの父親であるという事実を説明するかもしれません。

<http://example.com/person/harry> <http://familyontology.net/1.0#hasFather> <http://example.com/person/charles> .

トリプルとは、論理的に極端なデータベースの正規化です。それらには、多くのソースからのトリプルを再構成せずに1つのデータベースにロードできるという利点があります。

RDFおよびRDFS

次のレイヤーはRDF-Resource Description Frameworkです。RDFは、トリプルにいくつかの追加の構造を定義します。RDFが定義する最も重要なことは、「rdf:type」と呼ばれる述語です。これは、物事があるタイプのものであると言うために使用されます。誰もがrdf:typeを使用しているため、非常に便利です。

RDFS(RDFスキーマ)は、サブジェクト、オブジェクト、述語などの概念を表すいくつかのクラスを定義します。これは、モノのクラスや関係のタイプについての記述を開始できることを意味します。最も単純なレベルでは、http://familyontology.net/1.0#hasFatherは人と人との関係であると述べることができます。また、人間が読めるテキストで関係やクラスの意味を説明することもできます。これはスキーマです。これは、さまざまなクラスや関係の合法的な使用法を示しています。また、クラスまたはプロパティがより一般的なタイプのサブタイプであることを示すためにも使用されます。たとえば、「HumanParent」は「Person」のサブクラスです。「愛」は「知識」のサブクラスです。

RDFシリアライゼーション

RDFは、いくつかのファイル形式でエクスポートできます。最も一般的なのはRDF + XMLですが、これにはいくつかの弱点があります。

N3は読みやすい非XML形式であり、より厳密なサブセット(TurtleおよびN-Triples)があります。

RDFはファイル形式ではなく、トリプルを処理する方法であることを理解することが重要です。

XSD

XSDは、主に日付、整数などのプロパティタイプを記述するために使用される名前空間です。これは一般に、リテラルの特定のタイプを識別するRDFデータで見られます。また、XMLスキーマでも使用されます。これは、少し異なる魚のやかんです。

フクロウ

OWLはセマンティクスをスキーマに追加します。プロパティとクラスについてはるかに詳細に指定できます。また、トリプルで表現されます。たとえば、「If A isMarriedTo B」の場合、「B isMarriedTo A」を意味します。または、「C isAncestorOf D」および「D isAncestorOf E」の場合、「C isAncestorOf E 「フクロウが追加するもう1つの便利なことは、2つのことは同じであると言うことができることです。これは、異なるスキーマで表現されたデータを結合するのに非常に役立ちます。1つのスキーマでの「兄弟関係」はowl:sameAsであると言うことができます。他のスキーマ。これを使用して、Wikipediaの「Elvis Presley」がBBCの「Elvis Presley」と同じであるなど、2つのことは同じであると言うこともできます。これは、複数のサイトからデータを結合し始めることができることを意味し、非常にエキサイティングです(これは「リンクされたデータ」です)。

また、OWLを使用して、「C isAncestorOf E」などの暗黙のファクトを推測することもできます。


21
セマンティックWebレイヤーの画像を次に示します。w3.org / 2001 / 12 / semweb-fin / swlevels.png 参照用。
TimoWestkämper10年

8
まだはっきりしないこの部分の1つは、RDFSとOWLが表現できるものの間にいくつかの重複があるように見えることです。たとえば、owl:Classはrdfs:Classに非常によく似ています。(たとえば、タイプowl:Classのエンティティーは、多くの場合、rdfs:commentやrdfs:subclassOfなどのいくつかのRDFS述語の対象になります。)OWLがRDFSの上にあるレイヤーを理解するのに苦労しています。クラスを定義することは、RDFSで何ができるかを強化する方法に似ています。
イアングリフィス

使用するOWL / OWL-2プロファイルに応じて、DL公理(たとえば、プロパティの制限、不整合など)で知識ベースを充実させる「追加」機能があります。
Zhubarb 2013

4
:OWL2セマンティクスの下で実際には、フクロウ:@IanGriffithsクラスとrdfs:クラス(だけでなく、いくつかのより多くの驚くべきペア)eqivalentあるanswers.semanticweb.com/questions/30954/...
ウラジミールAlexievの

... OWL、RDFS、XSD ...は補完的な言語です...それぞれがドメインの説明で役割を果たし、すべてを結合してドメインを充実させます...
セルジオ

82

要するに:

  • RDFはもの書く方法を定義します
  • OWLはを書くを定義します

以前のポスターが書いたように、RDFはトリプルを定義する方法を説明する仕様です。

問題は、RDFではすべてを定義できるため、次のような宣言を作成できることです。

| subject | predicate | object |
|---------|-----------|--------|
| Alex    | Eats      | Apples |
| Apples  | Eats      | Apples |
| Apples  | Apples    | Apples |

これらのトリプルは、有効なRDFドキュメントを形成します。

しかし、意味的には、これらのステートメントは正しくなく、RDFは記述内容の検証を支援できないことを理解しています。

これは有効なオントロジーではありません。

OWL仕様は、有効なオントロジーを持つためにRDFでを書くことができるを正確に定義しています。

オントロジーにはいくつかの特性があります。

そのため、OWL(バージョン1)は、OWL DL、OWL Lite、OWL Fullなどのいくつかのバージョンを定義しています。


28
ただし、OWLはRDFストアに配置できるものを制約しないことに注意してください。OWLスキーマ情報は、制約を強制するためではなく、主に推論のために使用されます。
DNA、

32

RDF、RDFS、OWLは、ますます複雑になる情報や知識を表現する手段です。これらはすべて、RDF / XML構文(または、たとえばTurtleやN3などの他のRDFシリアル化構文)でシリアル化できます。

これらのテクノロジーには関連性があり、相互運用可能であると想定されていますが、起源が異なるため、テクノロジー間の関係を把握するのが複雑な場合があります。どちらを選択するかは、モデル化する状況がどれほど複雑に必要かによって異なります。

表現力のまとめ

RDF:インスタンスとそのタイプへのマッピングに焦点を当てた単純な表現(rdf:type)。データをリンクしてトリプルを作成するカスタムプロパティを定義することが可能です。RDFデータはSPARQLでクエリされます。Turtleでシリアル化されたRDFの例:

@prefix : <http://www.example.org/> .
:john    rdf:type           :Man .
:john    :livesIn  "New-York" .
:livesIn    rdf:type    rdf:Property .

RDFS:一部の状況はRDFだけでは簡単にモデル化できません。たとえばサブクラス(タイプのタイプ)などのより複雑な関係を表すことが興味深い場合があります。RDFSはrdfs:subClassOfrdfs:rangeやのような構成要素を使用して、このようなケースを表す特別な手段を提供しますrdfs:domain。理想的には、推論は、 RDFSの意味論を理解することができるとの関係に基づいて、トリプルの数を展開します。たとえば、あなたがトリプルを持っている場合John a ManMan rdfs:subClassOf Human、あなたは同様にトリプルを生成する必要がありますJohn a Human。これは、RDFだけでは実行できないことに注意してください。RDFSデータは、SPARQLを使用して照会されます。Turtleでシリアル化されたRDFSの例:

@prefix : <http://www.example.org/> .
:john    rdf:type           :Man .
:Man    rdfs:subClassOf    :Human .
:john    :livesIn  "New-York" .
:livesIn    rdf:type    rdf:Property .
# After reasoning
:john    rdf:type    :Human .

OWL:最高レベルの表現力。クラス間の関係は、記述ロジック(数学理論)に基づいて正式にモデル化できます。OWLは推論器に大きく依存しているため、インスタンス間の連鎖プロパティやクラス間の制限などの複雑な構成を表現することが可能です。OWLは、RDFデータセットの上にオントロジーまたはスキーマを構築するのに役立ちます。OWLはRDF / XMLとしてシリアル化できるため、SPARQLを介してクエリすることは理論的に可能ですが、DLクエリ(通常は標準のOWLクラス式)でOWLオントロジーをクエリする方がはるかに直感的です。Turtleでシリアル化されたOWLコンストラクトの例。

@prefix : <http://www.example.org/> .
:livesIn    rdf:type    owl:DatatypeProperty .
:Human    rdf:type    owl:Class .
:Man   rdf:type    owl:Class .
:Man    rdfs:subClassOf    :Human .
:John    rdf:type    :Man . 
:John    rdf:type    owl:NamedIndividual .

2
サブクラスは「型の型」ではありません。それはメタクラスです。「X a Y. Y a Z」「X a Y. Y subClassOf Z」とは異なります
Vladimir Alexiev 2014年

14

まず、以前に指摘されたように、フクロウはRDFでシリアル化できます。

第二に、OWLは、形式的な計算可能な一次記述ロジックを使用してトリプルのコンポーネントを定義するための装置を提供することにより、RDFにオントロジー機能を追加します(それ自体は、形式的な既知レッジ表現に対して非常に限られた機能しか提供しません)。それがここのポスターが彼らが「意味の豊かさ」について話すときに意味することです。

第3に、OWL-Full(OWL 1の場合)ではrdfs:classとowl:classは同等であり、OWL-DLではowl:classはrdfs:classのサブクラスであることを認識することが重要です。実際には、これは、OWLオントロジーをRDFのスキーマとして使用できることを意味します(これは正式にはスキーマを必要としません)。

それがさらに明確になることを願っています。


非常に良い投稿... Oracle 11gでRDFトリプルを保存したいのですが、OWLを自分のRDFのスキーマとして使用できますか?
Saad

10

RDFという用語を使用している場合、次の2つを区別する必要があります。

  1. RDFを概念として参照できます。

    トリプルのコレクションを使用して、物/論理/何かを記述する方法。

    例:

    「アンナはリンゴを持っています。」「リンゴは健康です。」

    上記には、2つのリソース「Anna」と「apples」を表す2つのトリプルがあります。RDF(Resource Description Framework)の概念は、わずか3語(用語)のセットでリソース(すべて)を記述できるということです。このレベルでは、3単語の文字列、壁の絵、3列のテーブルなど、情報の格納方法を気にしません。

    この概念レベルで重要なのは、トリプルステートメントを使用して、必要なすべてのものを表現できることです。

  2. RDFを語彙として参照できます

    語彙は、ファイルまたはどこかに保存されている用語定義の集まりです。これらの定義された用語は、一般的に他の記述で再利用されることを目的としているため、人々はより簡単かつ標準的な方法でデータ(リソース)を記述できます。

    ウェブでは、次のような標準的な語彙を見つけることができます。

    RDF(https://www.w3.org/1999/02/22-rdf-syntax-ns

    RDFS(https://www.w3.org/2000/01/rdf-schema#

    OWL(https://www.w3.org/2002/07/owl

    RDF語彙は、クラスの個人/インスタンスを(可能な限り最も基本的なレベルで)記述するのに役立つ用語を定義します。例:rdf:type、rdf:Property。

    rdf:typeを使用すると、一部のリソースがクラスのインスタンスであることを説明できます。

     <http://foo.com/anna> rdf:type <http://foo.com/teacher> 
    

    そのため、RDFボキャブラリには、クラスインスタンスの基本的な説明と他のいくつかの説明(トリプルステートメント定義や述語定義など、一般的にRDFの概念に関連するもの)を対象とする用語があります。

    RDFSボキャブラリーには、クラスとそれらの間の関係を説明するのに役立つ用語定義があります。RDFSボキャブラリーは、RDFボキャブラリーのようにクラス(個体)のインスタンスを気にしません。例:クラスAがクラスBのサブクラスであることを説明するために使用できるrdfs:subClassOfプロパティ。

    RDFとRDFSの語彙は互いに依存しています。RDFはその用語をRDFSを使用して定義し、RDFSはRDFを使用して独自の用語を定義します。

    RDF / RDFSボキャブラリは、リソースの非常に基本的な説明を作成するために使用できる用語を提供します。より複雑で正確な説明が必要な場合は、OWLボキャブラリーを使用する必要があります。

OWL語彙には、より詳細な説明を対象とした一連の新しい用語が付属しています。これらの用語は、RDF / RDFSボキャブラリの用語を使用して定義されています。

owl:ObjectProperty a rdfs:Class ;
                   rdfs:label "ObjectProperty" ;
                   rdfs:comment "The class of object properties." ;
                   rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                   rdfs:subClassOf rdf:Property .

owl:DatatypeProperty a rdfs:Class ;
                     rdfs:label "DatatypeProperty" ;
                     rdfs:comment "The class of data properties." ;
                     rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                     rdfs:subClassOf rdf:Property .

 owl:TransitiveProperty a rdfs:Class ;
                        rdfs:label "TransitiveProperty" ;
                        rdfs:comment "The class of transitive properties." ;
                        rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                        rdfs:subClassOf owl:ObjectProperty .

上記のように、OWLボキャブラリーは、抽象性が低く、リソースのより正確な説明を提供できる新しいタイプのプロパティーを作成することにより、rdf:Propertyの概念を拡張します。

結論:

  1. RDFは、トリプルのセットを使用してリソースを説明する概念または方法です。
  2. RDFトリプルは、さまざまな形式(XML / RDF、Turtleなど)で保存できます。
  3. RDFの概念は、すべてのセマンティックWebテクノロジーおよび構造(語彙など)の基本モデルです。
  4. RDFは語彙でもあり、RDFS語彙とともに、リソースの一般的/抽象的な説明を作成するために使用できる一連の用語を提供します。
  5. OWLは、リソースのより詳細な説明を作成するための新しい用語を提供するRDFおよびRDFSボキャブラリーで構築されたボキャブラリーです。
  6. すべてのセマンティックWeb語彙(RDF、RDFS、OWLなど)は、RDFの概念を尊重して構築されています。
  7. そしてもちろん、OWLボキャブラリーには、Webオントロジー言語を定義するあらゆる種類の複雑なロジックと概念が舞台裏にあります。OWLボキャブラリーは、実際にそのすべてのロジックを使用するための単なる方法です。

9

RDFは、トリプルの「主語」、「述語」、「値」を定義する方法です。たとえば、言いたいのなら

「私の名前はピエール」

私は書きます

<mail:me@where.com> <foaf:name> "Pierre"

を参照してください<foaf:name>?これはFOAFオントロジーの一部です。オントロジーは、プロパティ、特定のサブジェクトのクラスを記述する正式な方法であり、OWLはオントロジーを定義する(RDF)方法です。

C ++、Javaなどを使用して、クラス、サブクラス、フィールドなどを定義します。

class Person
{
    String email_as_id;
    String name;
}

RDFはOWLを使用してこれらの種類のステートメントを定義します。

この種の質問をする別の場所:http : //www.semanticoverflow.com/


14
同意しない:「RDFはOWLを使用してこの種のステートメントを定義する」。RDFは、OWLを決して使用しません。これは別の方法です:OWLはRDFを使用するRDFスキーマを使用します。
alexkr 2009年

@Stefano彼らはどこで走る人を見つけるのですか、それが本当の問題です。
Pascal Thivent 2009年

7

セマンティックウェブの概念を理解しようとしています。RDFとOWLの違いを正確に理解するのは難しいと感じています。OWLはRDFの拡張ですか、またはこれら2つはまったく異なるテクノロジーですか?

要するに、はい、OWLはRDFの拡張であると言えます。

より詳細には、RDFでは、主語、述語、目的語のトリプルを定義することにより、有向グラフを記述することができます。サブジェクトとオブジェクトはノードであり、述語はエッジです。つまり、述語はサブジェクトとオブジェクトの間の関係を表します。たとえば:Tolkien :wrote :LordOfTheRingsまたは:LordOfTheRings :author :Tolkienなどリンクされたデータシステムは、これらのトリプルを使用してナレッジグラフを記述し、それらを保存してクエリする方法を提供します。現在、これらは巨大なシステムですが、小規模なプロジェクトでRDFを使用できます。すべてのアプリケーションには、ドメイン固有の言語(またはDDD用語ではユビキタス言語)があります。その言語をオントロジー/語彙で説明できるので、アプリケーションのドメインモデルをグラフで説明できます。グラフを視覚化して、ビジネスモデルに表示し、モデルに基づいてビジネス上の決定について話し、アプリケーションを上に構築できます。その。アプリケーションの語彙を、それが返すデータや、microdataなどの検索エンジンが認識している語彙にバインドできます。(たとえば、これを行うためにRDFAでHTMLを使用できます)。そのため、検索エンジンはアプリケーションの検索を簡単に行うことができます。これは、その機能に関する知識が機械で処理できるためです。これがセマンティックWebの仕組みです。(少なくともこれは私が想像する方法です。)

オブジェクト指向のアプリケーションを説明するには、型、クラス、プロパティ、インスタンスなどが必要です。RDFでは、オブジェクトのみを説明できます。RDFS(RDFスキーマ)は、クラス、継承(オブジェクトに基づく)を記述するのに役立ちますが、あまりに広範です。制約を定義するには(たとえば、中国の家族ごとに1人の子供)、別の語彙が必要です。OWL(Webオントロジー言語)はこの仕事をします。OWLは、Webアプリケーションの記述に使用できるオントロジーです。XSD simpleTypesを統合します。
したがってRDF -> RDFS -> OWL -> MyWebApp、Webアプリケーションをより具体的な方法で説明するための順序になります。


ありがとう-これは非常に役立つようです。私はあなたが言っていると思います(私がこれを正しく理解したかどうかを私に知らせてください)(1)。RDFは、オブジェクト間の直接的な関係を(指定可能personA friendsWith personB)、その(2)RDFSは関係指定する能力を提供することによって、これを延びobject classesすなわち- class Person <has 'friendsWith' relationship> Person。これにより、クラスを介してRDFをフレーズすることができますA:typeof:person friendsWith B:<typeof:person>。(3)OWLでは、関係の制約を指定できますか?
Zach Smith

つまり、人は最大4つの "friendsWith"接続を持つことができます `?
Zach Smith

@ZachSmithはい。
inf3rno

そのような良い答え-ありがとう。このページの他のすべてを読みやすくします。
Zach Smith

@ZachSmith yw
inf3rno

7

RDFSはあなたが柔軟、トリプルベースのフォーマットに標準化して、語彙(例えば「キーワード」を提供することで、物事の間の関係を表現することを可能にするrdf:typerdfs:subClassOf、物事を言うために使用することができます)。

OWLは似ていますが、より大きく、より良く、より悪いです。OWLを使用すると、データモデルについてより多くのことを言うことができ、データベースクエリと自動推論を効率的に処理する方法を示し、データモデルを現実世界に導入するための便利な注釈を提供します。

第1の違い:語彙

RDFSとOWLの違いのうち、最も重要なのは、OWLが物事を言うために使用できるはるかに大きな語彙を提供することだけです

例えば、OWLは、次のようなRDFSからすべてのあなたの古い友人を含みrdfs:typerdfs:domainrdfs:subPropertyOf。しかし、OWLはあなたに新しくてより良い友達を与えます!例えば、OWLを使用すると、集合演算の観点からデータを記述できます。

Example:Mother    owl:unionOf     (Example:Parent, Example:Woman)

これにより、データベース間の同等性を定義できます。

AcmeCompany:JohnSmith  owl:sameAs    PersonalDatabase:JohnQSmith

プロパティ値を制限できます:

Example:MyState     owl:allValuesFrom     (State:NewYork, State:California, …)

実際、OWLは、独自の教訓を得るために、データモデリングと推論で使用する非常に新しい高度な語彙を提供します。

2番目の違い:剛性

もう1つの大きな違いは、RDFSとは異なり、OWLは特定の語彙使用する方法を通知するだけでなく、実際には使用できないことも通知することです。それとは対照的に、RDFSはあなたが望むどんなトリプルもほとんど追加できる何でも行く世界を提供します。

たとえば、RDFSでは、好きなように感じるものはすべてのインスタンスになりますrdfs:ClassBeagleはであるrdfs:Classと言い、次にFidoBeagleのインスタンスであると言うかもしれません:

Example: Beagle    rdf:Type    rdfs:Class

Example:Fido    rdf:Type    Example: Beagle

次に、ビーグルについて話したいと思うかもしれません、おそらくビーグルイギリスで飼育されている犬の実例だと言いたいかもしれません:

Example:Beagle    rdf:Type    Example:BreedsBredInEngland

Example: BreedsBredInEngland    rdf:Type    rdfs:Class

この例で興味深いのは、クラスとインスタンスのExample:Beagle両方として使用されていることです。ビーグルフィドがメンバーになっているクラスですが、ビーグルはそれ自体が別のクラスのメンバーです:英国で生まれたもの。

RDFSでは挿入できるステートメントと挿入できないステートメントをRDFSが実際に制約しないため、RDFSではこれらすべてが完全に合法です。対照的に、OWLでは、またはOWLのいくつかのフレーバーでは、上記のステートメントは実際には合法ではありません。何かがクラスとインスタンスの両方になる可能性があると言うことはできません。

これは、RDFSとOWLの2番目の大きな違いです。RDFSは、何でも無料で、何でもワイルドウエスト、スピークイージーズ、サルバドールダリに満ちた世界を実現します。OWLの世界は、はるかに厳格な構造を課しています。

3番目の違い:注釈、メタメタデータ

ラジオ製造ビジネスを説明するオントロジーの構築にこの1時間を費やしたとします。昼食時のあなたの仕事は、時計製造ビジネスのためのオントロジーを構築することです。今日の午後、おいしいコーヒーを飲んだ後、上司から、非常に収益性の高いクロックラジオビジネスのためにオントロジーを構築する必要があると言われました。朝の仕事を簡単に再利用する方法はありますか?

OWLは、このようなことを非常に簡単にします。Owl:Importあなたは、クロックラジオの状況で使用するものですが、OWLはまた、あなたのような注釈の豊かな多様性を与えowl:versionInfoowl:backwardsCompatibleWithowl:deprecatedProperty、簡単に相互にコヒーレント全体に一緒に使用するリンク・データ・モデルとすることができます。

RDFSとは異なり、OWLはあなたのメタメタデータモデリングのニーズのすべてを確実に満たすでしょう。

結論

OWLを使用すると、操作できるはるかに大きな語彙が得られます。これにより、データモデルについて言いたいことが何でも簡単に言えます。さらに、今日のコンピューターの計算現実に基づいて発言を調整したり、特定のアプリケーション(検索クエリなど)に合わせて最適化したりすることもできます。さらに、OWLを使用すると、標準の注釈フレームワークを使用して異なるオントロジー間の関係を簡単に表現できます。 。

これらはすべてRDFSと比較して利点であり、通常、それらに慣れるために余分な労力をかける価値があります。

ソース:RDFS対OWL


4

WC3のドキュメントオブジェクトモデルでは、文書は抽象的なものです:要素、テキスト、コメント、属性、およびその内にネストされた他の要素と。

セマンティックWebでは、「トリプル」のセットを扱います。各トリプルは:

  • 件名、トリプルがあるものについては、ID、データベースの主キー- URI。そして
  • 述語、「動詞」、「プロパティ」、「データベース列」-別のURI。そして
  • オブジェクト、原子値またはいくつかのURI。

スキーマはW3Cドキュメントオブジェクトモデルに対するものであるのに対し、OWLはセマンティックWebに対するものです。さまざまなURIの意味を文書化し、マシンでチェックできる正式な方法でそれらを使用する方法を指定します。セマンティックWebは、ドキュメントがスキーマに関して有効である場合とそうでない場合と同様に、それに適用されるOWLに関して有効である場合とそうでない場合があります。

XMLがDOMと同じように、RDFはセマンティックWebに対応します。これは、一連のトリプルのシリアル化です。

もちろん、RDFは、通常、XML文書としてシリアル化されています...が、それはRDFは、「XMLシリアル化と同じものではないことを理解することが重要だ RDFが」。

同様に、OWLはOWL / XMLを使用してシリアル化することも、(これについて申し訳ありませんが)RDFとして表現することもできます。RDF自体は通常、XMLとしてシリアル化されます。


3

基本的なセマンティックWebスタックは、このスレッドですでに多く説明されています。最初の質問に焦点を当て、RDFをOWLと比較したいと思います。

  • OWLはRDFとRDF-Sのスーパーセットです(上)
  • OWLにより、RDFおよびRDF-Sを効果的に操作できます
  • OWLにはいくつかの拡張語彙があります
    • クラスと個人(「インスタンス」)
    • プロパティとデータ型(「述語」)
  • 適切な推論と推論にはOWLが必要です
  • OWLには、3つの方言Lite、記述ロジック、およびフルがあります。

いくつかの事実を知るだけでより多くの意味(推論と推論)を得るには、OWLの使用が不可欠です。この「動的に作成された」情報は、SPARQLのような一致するクエリにさらに使用できます。

いくつかの例は、OWLで実際に機能することを示しています。これらは、2015年にスペインのTYPO3camp Mallorcaで行われたセマンティックWebの基本についての私のから取られました。

ルールによる同等物

Spaniard: Person and (inhabitantOf some SpanishCity)

つまり、a Spaniardはa である必要がありPerson(したがって、推論部分のすべてのプロパティを継承する)、少なくとも1つ(または複数)に存在する必要がありますSpanishCity

プロパティの意味

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

この例は、inverseOfプロパティisPartOfとに適用した結果を示していますcontains

  • 対称の
  • 推移的
  • バラバラ
  • ...

プロパティのカーディナリティ

<:hasParent owl:cardinality “2“^^xsd:integer>

これは、それぞれThing(このシナリオでは、おそらくHuman)がちょうど2つの親を持つことを定義します-カーディナリティーはhasParentプロパティーに割り当てられます。

  • 最小
  • 最大
  • 正確


2

リソース記述フレームワーク(RDF)は、強力な形式的な知識表現言語とセマンティックWebの基本的な標準です。コアの概念と関係を定義する独自の語彙(たとえば、rdf:typeはisA関係に対応)と、subject-predicate-object(resource-property-value)の形式でマシンが解釈可能なステートメントを可能にするデータモデル写真描写本などのRDFトリプルと呼ばれるトリプル。制御された語彙と基本的なオントロジーを作成するために必要な概念を持つRDF語彙の拡張は、RDFスキーマまたはRDF語彙記述言語(RDFS)と呼ばれます。RDFSを使用すると、クラスとリソースに関するステートメントを記述し、スーパークラスとサブクラスの関係などを介して分類構造を表現できます。

複雑な知識ドメインには、RDFSで利用可能な機能よりも多くの機能が必要であり、OWLが導入されました。OWLは、クラス間の関係(ユニオン、インターセクション、ディスジョイント、同等性)、プロパティのカーディナリティ制約(最小、最大、正確な数、たとえば、すべての人がちょうど1人の父親を持つ)、プロパティの豊富な型付け、プロパティの特性および特別なプロパティ(推移的、対称、関数、逆関数、たとえば、A ex:hasAncestor BおよびB ex:hasAncestor Cは、A ex:hasAncestor C)を意味し、特定のプロパティが特定のクラスのインスタンスの一意のキーであること、およびドメインと範囲の制限を指定します。プロパティ用。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.