我正在制作一个图表,其中个人可以拥有集合 {Class1、Class2、Class3 等} 中类型的任意组合。因此,个体可以是{Class1,Class 4}或{Class6}或{Class1,Class7}等类型。
我正在尝试编写一个 SPARQL 请求,该请求可以获取以下内容:
这是我目前的要求:
?s a :Class1.
FILTER NOT EXISTS { ?s a :Class4}
FILTER NOT EXISTS { ?s a :Class5}
FILTER NOT EXISTS { ?s a :Class6}
还有更优雅的写法吗? 例如,对于 Class4、Class5 和 Class6 使用“OR”条件? 或者用“MINUS”,我不太明白?
VALUES
:
?s a :Class1 .
FILTER NOT EXISTS {
VALUES ?forbiddenClass { :Class4 :Class6 :Class6 }
?s a ?forbiddenClass .
}