1

w3.orgからの一節を理解するのに苦労しています。紛らわしい一節は誤りかもしれませんし、私はただ混乱しているかもしれません。

以下は、RDF概念仕様のセクション6.6です

6.6空白ノード

RDFグラフの空白ノードは、無限集合から描画されます。この空白ノードのセット、すべてのRDF URI参照のセット、およびすべてのリテラルのセットは、ペアごとに互いに素です。

それ以外の場合、この空白ノードのセットは任意です。

RDFは空白ノードの内部構造を参照しません。2つの空白ノードが与えられた場合、それらが同じであるかどうかを判断することができます。

ですから、私が混乱しているのは、「空白のメモの内部構造」を知る方法がない場合、どうすればそれらを区別できるのでしょうか。これはタイプミスですか?

4

3 に答える 3

3

これはタイプミスではなく、私も同意します。理解するのは簡単ではありません。これも再発する問題です。ノードを表すURIを作成する方法がない場合があるため、空白のノードが存在します。このケースは、たとえば制約を作成するときにOWLで常に発生します。

通常、RDFファイルが解析されるときに空白のノードIDが作成され、一意である必要があります。したがって、定義上、同じ識別子を持つ2つの空白ノードを見つけるべきではありません。2つの空白ノードを区別する1つの方法は、接続されたサブグラフが同一であるかどうかを確認するために、すべての着信/発信述語とそれらのオブジェクト/サブジェクトを調べることです。これは実装が難しく、大きなグラフの計算には非常にコストがかかる可能性があります。

この問題は、RDFグラフ間の違いを見つけることに関連して広く議論されてきました。非常に興味深い記事の1つは、TimBLの設計上の問題の1つであるDeltaです。RDFグラフ間の差異の分布に関するオントロジーです。また、RDFグラフwikiをw3cと比較する方法もご覧ください

あなたがデータ発行者である場合は、可能であれば空白のノードを避けるようにしてください。空白ノードが必要な場合は、同じグラフ構造を持つ2つの異なる空白ノードが同じIDを持つように、異なる空白ノード構造の一意のIDを提供するハッシュ関数を考え出すようにしてください。したがって、それらを配置できます。 appart。

于 2011-07-12T17:27:39.650 に答える
1

2014年2月に標準化されたRDF1.1は、このテキストを少し編集していることに注意してください。

空白のノードは、IRIおよびリテラルから切り離されています。それ以外の場合、可能な空白ノードのセットは任意です。RDFは空白ノードの内部構造を参照しません。

空白のノード識別子に関するメモを追加します。

注:ブランクノードIDは、一部の具体的なRDF構文またはRDFストア実装で使用されるローカルIDです。それらは常にファイルまたはRDFストアにローカルにスコープされ、空白ノードの永続的または移植可能な識別子ではありません。空白のノード識別子はRDF抽象構文の一部ではありませんが、具体的な構文または実装に完全に依存しています。したがって、ブランクノード識別子の構文上の制限は、もしあれば、具体的なRDF構文または実装にも依存します。具体的な構文で空白ノード識別子を処理する実装では、構文でサポートされている場合を除いて、同じ空白ノード識別子が複数回出現することから同じ空白ノードを作成しないように注意する必要があります。

ブランクノード管理のスコーレム化スキームを推奨する新しい仕様もあります。

いずれにせよ、あなたはそれを言います:

「空白ノードの内部構造」を知る方法はありません

しかし、これは仕様が言っていることではありません。仕様では、そのような方法を定義していないと単純に述べています。つまり、空白ノードを内部的に表現および識別する方法を決定するのは実装者の責任です。しかし、2004年の仕様の言い回しが混乱していることに同意します。

于 2014-04-15T12:07:19.857 に答える
0

このドラフトW3Cコミュニティグループレポートで説明されているアルゴリズムがあります。

RDFデータセットの正規化

標準のRDFデータセット正規化アルゴリズム

..。

このドキュメントでは、 RDFデータセットを入力として指定して正規化されたRDFデータセットを生成するためのアルゴリズムの概要を説明します。このアルゴリズムは、Universal RDF Dataset NormalizationAlgorithm2015またはURDNA2015と呼ばれます。

..。

この仕様は、接続されているノードを介して各空白ノードを接地し、基本的にSkolem空白ノード識別子を作成することにより、同じRDFグラフ(データセット)の個別の空白ノード識別子を使用して、異なるシリアル化に対して繰り返し安定した空白ノード識別子を作成するアルゴリズムを定義します。結果として、グラフの署名は、結果の正規化されたデータセットの正規のシリアル化をハッシュすることによって取得できます。、同型とデジタル署名のユースケースを考慮に入れます。空白のノード識別子は、グラフ(データセット)に他の変更を加えても安定している可能性があるため、たとえば、グラウンドトリプルのみに変更を加えた場合や、新しい空白の場合など、2つのグラフ(データセット)の差を計算できる場合があります。他の既存の空白ノードとの自己同形の混乱を引き起こさないノードが導入されます。

--https ://json-ld.github.io/normalization/spec/

于 2017-02-24T08:17:37.607 に答える