私のStardogデータベースには、SPARQLエンドポイントのサービス記述が含まれています。私は今Unforunately https://www.w3.org/TR/2013/REC-sparql11-federated-query-20130321/#valuesStartdog連動型クエリ(可変サービスあり)
PREFIX void: <http://rdfs.org/ns/void#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX doap: <http://usefulinc.com/ns/doap#>
SELECT ?service ?projectName
WHERE {
# Find the service with subject "remote".
?p dc:subject ?projectSubject ;
void:sparqlEndpoint ?service .
FILTER regex(?projectSubject, "remote")
# Query that service projects.
SERVICE ?service {
?project doap:name ?projectName . }
}
で説明したように、特定のサービスを選択して、クエリでそれを呼び出すようにしようとしている、Stardogは、変数がURIでないことを私に言って、例外をスロー:
com.complexible.stardog.plan.eval.operator.OperatorException: Cannot execute a service query with a variable ref which binds to non-URI values
BINDステートメントの "?service"変数をIRIコンストラクタでキャスティングし、バインドされた変数を使用することは役に立ちません。 Stardogに連合クエリを実行させるために、変数がIRIであることを確認する方法