2009-08-21 16 views
18

誰でも私にRDFでのReificationの簡単な例を教えてもらえますか?私はそれが正しく理解されているかどうかを知りたい。例えばRDFでのReificationの簡単な例

、私は次のような場合、あなたが(すなわち、具体化を必要とせず、シンプルなRDFステートメントなど)具体化することなく、それとを書くとどのように

Tolkien -> wrote -> Lord of the rings 
      /|\ 
      | 
     Wikipedia said that 

を提案していますか?

答えて

24

「トールキンは、リングの主を書いた」とは、このような単純なステートメント(主語、述語、オブジェクト)のように表すことができる:ところで

:Tolkien :wrote :LordOfTheRings . 

、これはRDFのためTurtle表記法を使用しています。 RDF/XMLに変換するためのオンラインはtoolsです。実生活で

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 
_:x rdf:type rdf:Statement . 
_:x rdf:subject :Tolkien . 
_:x rdf:predicate :wrote . 
_:x rdf:object :LordOfTheRings . 
_:x :said :Wikipedia . 

を、あなたはでしょう:「ウィキペディアはと言った」のようなあなたは、文自体に関する追加の事を述べることができるようにreificationを使用

は、次の文を表す別のリソースを持つことができます誰または何RDFを消費しているように、共有語彙を使用したいと思うでしょう、あなたが話していることについてそのトールキンとその LOTR:

<http://dbpedia.org/resource/The_Lord_of_the_Rings> <http://dbpedia.org/property/author> <http://dbpedia.org/resource/dbppedia/J._R._R._Tolkien> . 
+0

答えに感謝します。私が正しく理解していれば、あなたは身分証明書を執行するときに両者を提出しなければならないのですか? (明らかに、それはすべきですが、技術的にはベストプラクティスは何ですか?) –

+1

ステートメントの公式化されたバージョンは、元のステートメントを意味するものではありません。これは、上にリンクされているRDFセマンティクスのReificationセクションで説明されています。それは論理的です。「Wikipediaは、TolkienがLOTRを書いたと言っています。「TolkienはLOTRを書いています。 –

+2

実際には、すべてのステートメントの改訂版を保存すると、保存する必要があるトリプル数が増えます。ステートメントの出所を記録するだけでよい場合は、名前付きグラフ/クワッドストアを選択することをお勧めします。 –

4

より良い方法は、シングルトンプロパティアプローチを使用することです。

たとえば、あなたにこの文を表現するためにシングルトンプロパティを作成:

Tolkien wrote#1 "Lord of the rings" . 

wrote#1 rdf:singletonPropertyOf wrote . 

wrote#1 asserted_by Wikipedia . 

あなたはシングルトンを使用してステートメントに関するステートメントを作るRD​​F具体化を好きではない紙」でそれについての詳細を読むことをお勧めします?プロパティ "またはそのスライドhttp://www.slideshare.net/ntkimvinh7/www2014-singleton-propertyfinal ...

+1

私はこのアプローチが(RDFの標準化手法(http://www.w3.org/TR/rdf-mt/#Reif)の場合も同様)側。私は、述語部分をRDFにそのまま残し、RDFデータモデルを拡張して文識別子を許可することを提案します(http://lists.w3.org/Archives/Public/public-rdf-commentsも参照してください)。 /2011Jan/0001.html)。 – zazi

+0

クエリの面から見ると、大きな問題ではありません。 –

+0

私はもっと難しいと思うのですが、RDFの正式なセマンティクスでステートメント識別子をどのように表現するのですか? –