过滤器中的SPARQL子查询

过滤器中的SPARQL子查询,sparql,amazon-neptune,Sparql,Amazon Neptune,我已经接受了他的提问 在AWS Neptune中尝试上述格式时出现格式错误的查询语法错误 请帮助我修复上面的查询。如果您想测试数据中是否有三元组,这似乎是选择此处的筛选器示例的意图,您可以使用筛选器存在 本文只是展示了一些如何将子查询添加到SPARQL 1.0标准中的建议,但带有过滤器的子查询从未被添加到SPARQL 1.1中。显而易见的解决方案是使用一个好的旧连接:SELECT?Name FROM WHERE{Aut Name?Name。?Pub author?Aut。?Pub conf?co

我已经接受了他的提问

在AWS Neptune中尝试上述格式时出现格式错误的查询语法错误


请帮助我修复上面的查询。

如果您想测试数据中是否有三元组,这似乎是选择此处的筛选器示例的意图,您可以使用筛选器存在


本文只是展示了一些如何将子查询添加到SPARQL 1.0标准中的建议,但带有过滤器的子查询从未被添加到SPARQL 1.1中。显而易见的解决方案是使用一个好的旧连接:SELECT?Name FROM WHERE{Aut Name?Name。?Pub author?Aut。?Pub conf?conf。?conf series ISWC},也就是说,像Name、author、,等也确实是无效的标识符,因为本文只显示了伪语法。您必须使用这些谓词的前缀或完整URI最后但并非最不重要的是,我怀疑是否有任何保证FROM可以工作-想象一下,这会将任意文件加载到triple store中,谁想允许这样做?它可以,但我相信很多人不会离开box@UninformedUser我没有使用精确的查询,但尝试了在筛选器中使用子查询的其他查询。似乎这件事不符合1.1的标准,但我的目的不是检查三胞胎的存在。我正在flter中试验子查询。EXISTS是子查询的一种形式。这就像一个询问子查询。
SELECT ?Name FROM <http://.../biblio.rdf>
WHERE { ?Aut name ?Name . ?Pub author ?Aut . ?Pub conf ?Conf
FILTER (?Conf IN ( SELECT ?ConfX FROM <http://.../biblio.rdf>
WHERE { ?ConfX series "ISWC" }))}
FILTER EXISTS { ?Conf series "ISWC" }