.jpg/500px-Blank_node_example_(w3.org).jpg)
RDFでは、空白ノード(bnodeとも呼ばれる)は、 URIまたはリテラルが指定されていないリソースを表すRDFグラフ内のノードです。 [1]空白ノードによって表されるリソースは、匿名リソースとも呼ばれます。RDF標準によれば、空白ノードはRDFトリプルの主語または目的語としてのみ使用できます。
シリアル化形式の表記
空白ノードは、 RDF/XML、RDFa、Turtle、N3、N-Triplesの形式で空白ノード識別子を使用して表すことができます。次の例は、 RDF/XMLでの動作を示しています。
<rdf:RDF
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex= "http://example.org/data#" > <rdf:Description rdf:about= "http://example.org/web-data" ex:title= "Web データ" > <ex:professor rdf:nodeID= "b" /> </rdf:Description> <rdf:Description rdf:nodeID= "b" ex:fullName= "Alice Carol" > <ex:homePage rdf:resource= "http://example.net/alice-carol" /> </rdf:Description> </rdf:RDF>
_:b空白ノード識別子の範囲は、特定の RDF グラフのシリアル化にのみ制限されます。つまり、後続の例のノードは、_:b他のグラフで名前が付けられたノードと同じノードを表すものではありません。
空白ノードは、ネストされた要素 ( RDF/XML、RDFa、Turtle、N3 )を通じて表すこともできます。以下は、上記と同じトリプルです。
<rdf:RDF
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex= "http://example.org/data#" > <rdf:Description rdf:about= "http://example.org/web-data" ex:title= "Web データ" > <ex:professor> <rdf:Description ex:fullName= "Alice Carol" > <ex:homePage rdf:resource= "http://example.net/alice-carol" /> </rdf:Description> </ex:professor> </rdf:Description> </rdf:RDF>
以下はRDFaでの同じ例です。
<p about= "http://example.org/web-data" > <span property= "ex:title" > Webデータ</span> <span rel= "ex:professor" > <a property= "ex:fullName" rel= "ex:homePage" href= "http://example.net/alice-carol" > Alice Carol </a> </span> </p>
以下はTurtleでの同じ例です。
@prefix例: <http://example.org/data#> . <http://example.org/web-data>例: title "Web Data" ;例: professor [例: fullName "Alice Carol" ;例: homePage <http://example.net/alice-carol> ] .
ユーザビリティ
空白ノードは、特定のものを識別するためのURI(Uniform Resource Identifier)を使用せずに、単にものの存在を示すものとして扱われます。これは、空白ノードが「不明な」URIを示していると想定することとは異なります。[1]
RDF の匿名リソース
技術的な観点から見ると、次の機能が得られます。
- RDFコンテナのような複数コンポーネント構造を記述する
- 具体化(つまり起源情報)を記述する
- 補助ノードに明示的に名前を付けることなく複雑な属性を表す(例:通り、番号、郵便番号、都市で構成される人の住所)
- 内部情報の保護を提供する(例:ブラウザから顧客の機密情報を保護する)。[2]
以下に、前述の方法でリソースを表すために空白ノードが使用されている例を示します。特に、識別子「_:students」を持つ空白ノードは Bag RDF コンテナを表し、識別子「_:address」を持つ空白ノードは複合属性を表し、識別子「_:activity1」および「_:activity2」を持つ空白ノードはデジタル オブジェクトのライフサイクル内のイベントを表します。
<http://example.org/web-data>
例:タイトル 「Webデータ 」
ex :教授 _ :エンティティ ;
例:学生 _ :学生 ;
例: generatedBy _ : activity1 。
_ :実在物
例: fullName "Alice Carol" ;
例: homePage <http://example.net/alice-carol> ;
例: hasAddress_ :アドレス。
_ :住所
a 例:住所 ;
例:住所 「123 Main St. 」
例:郵便番号 「A1A1A1」 ;
例: addressLocality 「ロンドン」 。
_ :学生
rdf :バッグ;
例: hasMember_ : s1 ;
例: hasMember_ : s2 。
_ :アクティビティ1
例 :イベント;
例:作成者 _ :エンティティ ;
例: atTime "2月11日火曜日、06:51:00 CST" 。
_ :アクティビティ2
例 :イベント、例:更新;
例: actionOver _ : activity1 ;
例: creator_ : entity2 ;
例: atTime "2月17日月曜日、08:12:00 CST" 。
OWL の匿名クラス
オントロジー言語OWLは、空白ノードを使用して、クラスの和集合や積集合などの匿名クラスや、 [3]プロパティの制約によって定義される制約と呼ばれるクラスを表します。[4]
たとえば、ある人物が最大で 1 つの誕生日しか持たないことを表現するには、クラス「Person」を「owl:Restriction」型の匿名クラスのサブクラスとして定義します。この匿名クラスは、制約されたプロパティと制約自体 (カーディナリティ≤ 1) を指定する 2 つの属性によって定義されます。
<owl:Class rdf:about= "http://example.org/ontology/Person" > <rdfs:subClassOf> <owl:Restriction> <owl:maxCardinality> 1 </owl:maxCardinality> <owl:onProperty rdf:resource= "http://xmlns.com/foaf/0.1/birthDate" /> </owl:Restriction> </rdfs:subClassOf> </owl:Class>
公開データ内の空白ノード
空白ノードの普及
ウェブ上で公開されているLinked Dataの実証調査[5]によれば、コーパスに寄与している783のドメインのうち、345(44.1%)は空白ノードを公開していない。各ドメインの空白ノードである一意の用語の平均割合は7.5%であり、少数の大規模ドメインは多くの空白ノードを公開しているが、他の多くのドメインはよりまれにしか空白ノードを公開していないことを示している。
データ レベルの位置で見つかった 286.3 MB の一意の用語のうち、165.4 MB (57.8%) は空白ノード、92.1 MB (32.2%) は URI、28.9 MB (10%) はリテラルでした。各空白ノードは平均 5.2 回データ レベルで出現しました。平均して、非 rdf:type トリプルのオブジェクト位置で 0.99 回、トリプルのサブジェクト位置で 4.2 回出現しました。
空白ノードの構造
Web 上で公開されているリンク データに関する同じ実証的調査によると、調査対象のドキュメントの大部分にはツリー ベースの空白ノード構造が含まれています。ごく一部には、さまざまなタスクの計算に潜在的に非常にコストがかかる複雑な空白ノード構造が含まれています。
機密性の高いタスク
空白ノードが存在すると、さまざまなタスクで特別な処理が必要になり、その複雑さはこれらのノードの数に応じて指数関数的に増大します。
RDFグラフの比較
空白ノードを一致させることができないと、デルタサイズ(1つのRDFグラフを別のRDFグラフに変換するために削除および追加する必要があるトリプルの数)が増加し、ナレッジベースの後続バージョン間の変更を検出するのに役立ちません。デルタサイズを最小化する2つの比較されたナレッジベースの空白ノード間のマッピングを構築することは、一般的なケースではNP困難です。[6]
BNodeLandはこの問題に対処し、特定のツールを通じて解決策を提案するフレームワークです。[7]
含意のチェック
含意問題に関しては、(a)RDFグラフの単純含意またはRDF/S含意を決定することはNP完全であること[8]、(b)単純RDFグラフの同値性を決定することは同型性完全であることが証明されている。
参照
参考文献
- ^ ab "RDF 1.1 Semantics" . 2024年4月6日閲覧。
- ^ L. Chen、H. Zhang、Y. Chen、W. Guo。RDF の空白ノード。Journal of Software、2012 年。
- ^ 「OWL Web オントロジー言語 OWL を RDF/XML で解析する」。
- ^ 「OWL Webオントロジー言語リファレンス」 。 2024年4月6日閲覧。
- ^ A. Mallea、M. Arenas、A. Hogan、A. Polleres。空白ノードについて。第 10 回インターンシップ セマンティック ウェブ カンファレンス (ISWC 2011) の議事録、2011 年。
- ^ Y. Tzitzikas、C. Lantzaki、および D. Zeginis。空白ノードのマッチングと RDF/S 比較関数。第 11 回インターンシップ セマンティック ウェブ カンファレンス (ISWC 2012) の議事録、2012 年。
- ^ BNodeLand 4.gr より
- ^ HJ ter Horst. 「RDF スキーマの含意の完全性、決定可能性、複雑さ、および OWL 語彙を含むセマンティック拡張」J. of Web Sem. 3:79-115、2005 年。
