我有一些存儲在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在條款太多的時候抱怨。
看起來好多了,謝謝。 – 2013-02-23 15:45:46
另一種方法是使用SPARQL 1.1的較新VALUES。不知道回答時這是否可用,但可能值得更新答案。 – 2013-11-26 17:59:51