在SPARQL中显示与另一个变量不常见的变量的结果

时间:2017-11-03 11:01:52

标签: sparql rdf owl

我有一个OWL文件,它存储三元组Person-hasFriend-Person关系。 OWL文件包含有关10人的信息,其唯一的信息是hasFriend

所有人与hasFriendA个关系,只有五个人与hasFriendB个关系。现在,我想通过一个查询查询与hasFriend只有A关系的五个人,该查询将显示与hasFriend没有B关系的人的姓名。如何在SPARQL中实现它?

在这里,我要求间接显示与hasFriend AreplaceDotHandlesWithUnderscore(input) { // e.g. {my.nested.value} to {my_nested_value} // e.g. {my.nested.value, select, true {Yes} false {No}} to {my_nested_value, select, true {Yes} no {false}} return input.replace( /\{(\s*)(\w+(\.\w+)*)/g, (matches, space, handle) => `{${space}${handle.replace(/\./g, '_')}` ); } 关系的人的姓名。

1 个答案:

答案 0 :(得分:1)

Yous应提供您的OWL文件的一些详细信息。但是,如果我很清楚你想要什么,你的查询看起来就像这样:

select ?person where {
  ?person hasFriend A.
  FILTER (NOT EXISTS {?person hasFriend B})
}