比較的基本的なタスクに SPARQL を使用しようとしています。FOAF グラフが与えられた場合、そこにある要素を解析し、タグが存在する場合はそれらを取得してから、それらを新しいグラフとして使用して、それらの人々に関する情報を見つけます。
たとえば、SPARQL クエリを実行して、すべての私のお気に入りの食べ物 (私の FOAF ファイルに従って) と、すべての友人の好きな食べ物をリストする単純な使用例を想像できます。
これが現時点での外観です。テスト目的で、現時点で以下のクエリで行おうとしているのは、?name3 変数を使用して友人の名前を取得することだけです。rdfs:seeAlso がいくつかの有効な RDF ファイルにリンクしていることを知っていても、このクエリを実行しても ?graph と ?name3 の結果は返されません。少なくとも 2 つのファイルには name 属性が必要です。ご意見をお寄せいただきありがとうございます。
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?name1 ?name2 ?graph ?name3
FROM <my-rdf-file>
WHERE {
?person1 foaf:knows ?person2 .
?person1 foaf:name ?name1 .
?person2 foaf:name ?name2 .
OPTIONAL {
?person2 rdfs:seeAlso ?graph .
GRAPH ?graph {
?person3 foaf:name ?name3 .
}
}
}