1

rdf:Statement件名によると、複数のrdf:predicateトリプルが接続されたシングルをアサートすることは有効ですか?

SPARUL背景: (つまり、 )に基づく単純なルールを使用して、推論されたトリプルを構築しようとしていINSERT <inferred triples> WHERE <preconditions>ます。私のデータセットでは、語彙に基づいてステートメントを具体化しました。次のrdf:ような推論を行うことは理にかなっています。

?stmt rdf:predicate ?p; ?p rdfs:subPropertyOf ?p1 => 
  => a statement with rdf:predicate ?p1 is also asserted.

このような推論の目的は、主に語彙のマッピングです。語彙の定義で検索する人は、 が定義され?p1ている語彙を使用して人々が述べたステートメントも検索します?p(例: skos:prefLabel(?p) rdfs:subPropertyOf schema:name(?p1))。

ステートメントが 1 つしか持つことができないrdf:predicate、またはその逆であると述べているドキュメントが見つかりません。1 つの述語のみがよりクリーンなオプションになるように思われますが、その場合は、既存のステートメントのほとんどすべて (来歴や有意性スコアなどの追加のトリプルを含む) を複製し、次?p1の述語として使用する必要があります。新しいもの。

代わりに、単にrdf:predicate既存のものに を追加すると、暗黙のセマンティクスは次のようになります?p?p1何かが欠けています。

実際、具体化されたステートメントのカウントは、 のようなトリプルのカウントに基づいていないことがわかりますが?s a rdf:Statement、私の場合は大したことではないようです。

4

2 に答える 2

3

この場合、 owl:sameAs<p>を使用することと同等であると述べるだけで、語彙のマッピングを簡単に行うことができると思います。<p1>

RDF の具象化全体はひどく指定不足です - しかし、具体化されたステートメントがトリプルの実際のインスタンスを参照するという従来の使用法があります (複数の述語がある場合のように、複数ではありません)。

于 2020-06-18T23:29:46.360 に答える