1

ここに画像の説明を入力

neo4j クイック クエリ ペインには、Neo4jサイファークエリ構文のコンテキストで意味のある「関係タイプ」と「プロパティ キー」があります。

SPARQL では、関係であるトリプルとプロパティであるトリプルを区別する方法はありますか?

いくつかのサンプルデータは次のようになると思います:

<actor12> <http://some.ontology.com/#ActedIn> <movie45>           #relationship
<movie45> <http://some.ontology.com/#title> “Gone with the Wind"  #property key/val
4

3 に答える 3

6

SPARQLは、 RDF データによって定義された特定のデータ モデルを対象とするクエリ言語です。通常、RDFまたはOWLデータのクエリに使用されます。

RDFではプロパティをオブジェクト参照プロパティデータ参照プロパティに区別せずに定義しています。それらの範囲を確認することで、それらを間接的に区別できます。それらの範囲がXSDプロパティである場合、それがデータ参照プロパティであると推測できます。

実際、 OWLは 2 種類のプロパティを正式に区別します。これらは、オブジェクト プロパティおよびデータ プロパティと呼ばれます。したがって、OWL データモデルを使用すると、OWL クラスによってプロパティのタイプを直接識別することができます。「関係タイプ」と呼ぶものは、実際には「オブジェクト プロパティ」であり、「プロパティ キー」と呼ぶものは、OWL 用語では「データ プロパティ」です。それらはそれぞれ、owl:ObjectPropertyおよびowl:DatatypePropertyクラスのインスタンスとして識別されます。

私が助けてくれることを願っています!

于 2014-01-16T20:10:06.443 に答える
3

オブジェクトがリテラルかどうかのテストでデータをチェックできます。

   ?s ?p ?o 
   FILTER (isLiteral(?o) )
于 2014-01-16T22:10:39.157 に答える
2

Pantelis Natsiavasは、OWL ではオブジェクトとデータ型のプロパティを区別できると正しく指摘しています。SPARQL でこれを行う方法について質問されました。 owl:DatatypePropertyowl:ObjectPropertyは RDFS クラスであるため、物事がそれらのインスタンスであるかどうかを照会できます。たとえば、DBpedia からデータ プロパティを要求できます。

select ?property where { 
 ?property a owl:DatatypeProperty
}
limit 10 

SPARQL の結果

于 2014-01-16T21:41:25.883 に答える