Virtuoso에 명명 된 그래프가 몇 개 있으며 제공 목록에서 가장 많은 수의 용어와 일치하는 그래프를 찾고 싶습니다.UNION이 많은 SPARQL 쿼리의 대안
내 쿼리는 다음과 같이 프로그래밍 방식으로 건설하고 보이는됩니다 :
SELECT DISTINCT ?graph (count(DISTINCT ?match) as ?matches)
WHERE {
GRAPH ?graph {
{?match rdf:label "term 1"}
UNION {?match rdf:label "term 2"}
UNION {?match rdf:label "term 3"}
...
}
}
ORDER BY DESC(?matches)
각 용어는 다른 UNION 절됩니다.
더 좋은 방법이 있나요? 쿼리는 길고 못 생기고 Virtuoso는 너무 많은 용어가있을 때 불평합니다.
훨씬 더 좋아 보이는군요. 감사합니다. –
대안은 SPARQL 1.1의 새로운 VALUES를 사용하는 것입니다. 응답 할 때 이것이 가능한지 확실하지 않지만 답변을 업데이트 할 가치가 있습니다. –