これは、この質問の進化形です。
基本的に、リモート エンドポイントから SPARQL クエリのすべてのソリューションを取得するのに問題があります。私とほぼ同じ状況を説明しているように見えるので、セクション 2.4 を読みました。
アイデアは、ローカル RDF グラフの情報に基づいて、DBPedia からの結果をフィルタリングしたいということです。クエリは次のとおりです。
PREFIX ns1:
<http://www.semanticweb.org/caeleanb/ontologies/twittermap#>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT *
WHERE {
?p ns1:displayName ?name .
SERVICE <http://dbpedia.org/sparql> {
?s rdfs:label ?name .
?s rdf:type foaf:Person .
}
}
そして、得られる唯一の結果は dbpedia:John_McCain (?s の場合) です。これは、最初の 'x' の結果でジョン マケインだけが一致したためだと思いますが、すべての一致を返すクエリを取得する方法がわかりません。たとえば、次のようなフィルターを追加するとします。
SERVICE <http://dbpedia.org/sparql> {
?s rdfs:label ?name .
?s rdf:type foaf:Person .
FILTER(?name = "John McCain"@en || ?name = "Jamie Oliver"@en)
}
次に、dbpedia:Jamie_Oliver と dbpedia:John_McCain の両方を正しく返します。このようなフィルターに具体的に追加しない限り、Jamie Oliver のように一致しないものは他にもたくさんあります。
誰かが残りの一致を抽出する方法を説明できますか? ありがとう。