我可以 SPARQL 查询两个变量 A 和 B,其中 A 可以包含 B。假设我有 A 可以是(“ABC”、“BCD”、“CDE”)和 B(“A”、“E”)我想要结果“BCD”。
我可以用
[Query for ?A]
FILTER NOT EXISTS{
[Query for ?B]
FILTER (CONTAINS(?A, ?B))
}
但对于我相对较大的查询,它表现不佳。我尝试将 ?A-query 作为子查询,但不知道如何提高效率。对 ?A 和 ?B 的单独查询相对较快(?A 为 5 秒,?B 为 1 秒)。