RDF での具象化の簡単な例を教えてくれる人はいますか? 正しく理解しているかどうかを確認したい。
たとえば、次のケースを提案します。
Tolkien -> wrote -> Lord of the rings
/|\
|
Wikipedia said that
具体化の有無にかかわらず(つまり、具体化を必要としない単純な RDF ステートメントとして)どのように記述しますか?
RDF での具象化の簡単な例を教えてくれる人はいますか? 正しく理解しているかどうかを確認したい。
たとえば、次のケースを提案します。
Tolkien -> wrote -> Lord of the rings
/|\
|
Wikipedia said that
具体化の有無にかかわらず(つまり、具体化を必要としない単純な RDF ステートメントとして)どのように記述しますか?
「トールキンは指輪物語を書いた」は、次のような単純なステートメント (主語、述語、目的語) として表現できます。
:Tolkien :wrote :LordOfTheRings .
ちなみに、これはRDFのTurtle記法を使っています。それを RDF/XML に変換するためのツールがオンラインにあります。
reificationを使用すると、ステートメントを表す別のリソースを持つことができるため、「ウィキペディアはそれを言った」のように、ステートメント自体について追加のことを述べることができます。
@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 .
実生活では、共有語彙を使用したいと思うでしょう。そうすれば、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
それを行うためのより良い方法は、シングルトン プロパティ アプローチを使用することです。
たとえば、このステートメントを次のように表すシングルトン プロパティを作成します。
Tolkien wrote#1 "Lord of the rings" .
wrote#1 rdf:singletonPropertyOf wrote .
wrote#1 asserted_by Wikipedia .
詳細については、論文「RDF の具体化が気に入らない? singleton プロパティを使用したステートメントについてのステートメントを作成する」またはhttp://www.slideshare.net/ntkimvinh7/www2014-singleton-propertyfinalのスライドを参照してください。 .
2020 年現在、次のように RDF* を使用できます。
<< :Tolkien :書いた :LordOfTheRings >> :言った :Wikipedia .
2020 年には、多くの主要なトリプル ストアがこのアプローチを実装しました。また、標準的な具体化を RDF* に変換してトリプル ブロートを削減するツールもあります。Ontotext の GraphDB Triple ストアや他のいくつかのサイトで報告されているように、このアプローチはトリプルの数とデータの読み込み速度の点で効率的です。
このアプローチの起源については、https://arxiv.org/pdf/1406.3399.pdfを参照してください。