【问题标题】:what is wrong with SPARQL query?SPARQL 查询有什么问题?
【发布时间】:2016-06-26 18:09:57
【问题描述】:

我正在尝试检查是否有两个人通过关系 B 连接,并且关系 c 具有相同的元素

问{

{?x :B ?y}filter not exist{?x :c ?t1, ?y :c ?t2 ,t1 ≠ t2 }

}

【问题讨论】:

  • 如果你想让他们有关系c,为什么not exists?有一次,这很清楚,你需要做的就是修正语法:那里的逗号不行,如果你还想过滤掉,那么它应该是filter not exists
  • @IvoVelitchkov 那么将 t1 ≠ t2 放在过滤器中是否可以接受?不相等的语法是什么?怎么写
  • 它是 != 。我建议您至少参考SPARQL specification 的基本语法
  • 查看其他语法问题的答案

标签: sparql jena semantic-web apache-jena


【解决方案1】:

如果我理解正确,您尝试编写的查询应该如下所示:

ASK{
?x :B ?y;
:c ?t1 .
?y :c ?t2 .
filter (t1 != t2 )
}

请注意,对于这样的查询,xy 可能只是类,而不是个人。

【讨论】:

  • 查询中有错误,它是 t1 " ?x :c ?t1 " 而不是 t2,我更正了它
猜你喜欢
  • 1970-01-01
  • 2015-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-11
相关资源
最近更新 更多