2

SPARQL や rdf などに関連する論文を研究する際に、クエリの結果のカーディナリティについてよく言及されますが、ここでのカーディナリティが実際に何を意味するのか理解できません。私はSPARQLとrdfの初心者なので、SPARQLとrdfでカーディナリティが何を意味するのかを誰かが親切に説明してくれますか.

データベースのカーディナリティは、値の一意性を指します.SPARQLとそのクエリの結果はカーディナリティを意味します...私は本当に混乱しています。誰か説明してください。

一意の値を指す場合、最大カーディナリティと最小カーディナリティは何を意味するのでしょうか?

4

1 に答える 1

1

SPARQL は単純に SQL に類似するように構築されていますが、ここではタプルではなくトリプルです。すべてのトリプルは、SPO 主語-述語-目的語の形式であり (P はプロパティのことだと誰かが言う)、これらのインデックスとコンテキストの 4 番目のインデックスの組み合わせを利用する具体的な拡張モデルを作成できます。実質的に言えば (前に述べた素朴なアイデアを再利用するために)、トリプルごとにタプルを持つ巨大なテーブルを想像することができます。したがって、ここでの DISTINCT トリプルのカーディナリティは、1 つの主題に関する「事実」のカーディナリティを表します。リレーショナル モデルとはまったく異なるモデルがあることがわかります。たとえば、rdf/foaf を介して名前と姓を持つ人は次のようになります (タートル構文を使用):

@prefix foaf:    <http://xmlns.com/foaf/0.1/> .

_:X  foaf:name   "John" .
_:X  foaf:surname   "Doe" 

.

ここには 2 つのトリプルがあります。

So a SPARQL query like:
SELECT COUNT(?S) as ?triples
WHERE{
?S ?P ?O.
?S foaf:name ?name.
}

主語の関係には 2 つのトリプルがあるため、単純にトリプル = 2 になります。

単純化しすぎて申し訳ありませんが、開始するのに役立つことを願っています:-) Alfredo

于 2012-06-06T08:08:15.767 に答える