내 Stardog 데이터베이스에는 SPARQL 엔드 포인트의 서비스 설명이 들어 있습니다. 지금 Unforunately https://www.w3.org/TR/2013/REC-sparql11-federated-query-20130321/#valuesStartdog Federated Query with variable service
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인지 확인하는 방법?