2011-12-27 12 views
1

私は家系図を完成させました。また、推移的プロパティ:childOfを定義しました。今私は家族の一員のすべての子孫を与えるSPARQLクエリを作成したいと思います。どうしたらいいですか?あなたのトリプルストアはOWLの推論をサポートし、あなたが(それは仕方によってdescendantOf呼び出されることはありません!)の推移であるためにあなたのchildOfプロパティを定義した場合のおかげowl:クエリのTransitiveProperty

答えて

1

することは、それは直接関連するすべてのノード間childOf性質を推測する必要があります。だから、この(簡潔にするため省略接頭辞)のようにそれを照会するのに十分でなければなりません:あなたのトリプルストアはOWLの推論を行わない場合

SELECT DISTINCT * { 
    ?x :childOf ?y 
} 

しかし、あなたはSPARQL 1.1プロパティパスを使用して同じ結果を得ることができます間接的な関係を照会する:childOf

SELECT DISTINCT * { 
    ?x :childOf+ ?y 
} 

注「+」、これは述語が1回以上を一致させることができることを意味しています。 SPARQL 1.1のプロパティパスの詳細はhttp://www.w3.org/TR/sparql11-property-paths/です。

関連する問題