Collections rdf:sparql中的集合

Collections rdf:sparql中的集合,collections,rdf,sparql,semantic-web,Collections,Rdf,Sparql,Semantic Web,我在RDF文件中有一个RDF:collection。当我有一个作者的集合时,下面的查询不会返回任何结果。但是,该查询适用于两个或多个作者,但只返回两个作者。我怎样才能写出所有的作者 前缀rdf: 前缀dc: 选择?标题?作者?作者2 何处{ ?x dc:标题?标题。 ?x bibo:authorList?对象。 ?对象rdf:第一个?名称。 ?名称rdf:value?作者。 ?对象rdf:rest?对象2。 ?对象2 rdf:第一个?名称2。 ?名称2 rdf:值?author2。 } 您的

我在RDF文件中有一个
RDF:collection
。当我有一个作者的集合时,下面的查询不会返回任何结果。但是,该查询适用于两个或多个作者,但只返回两个作者。我怎样才能写出所有的作者


前缀rdf:
前缀dc:
选择?标题?作者?作者2
何处{
?x dc:标题?标题。
?x bibo:authorList?对象。
?对象rdf:第一个?名称。
?名称rdf:value?作者。
?对象rdf:rest?对象2。
?对象2 rdf:第一个?名称2。
?名称2 rdf:值?author2。
}

您的问题是,您正在尝试执行某种半递归操作,因此结果会因RDF列表的长度而异。编写的查询只适用于长度为2或更多的列表,长度为1的列表将不起作用,因为您的查询的第二部分将没有任何匹配项

如果要访问集合,最好的方法是使用如下属性路径(需要SPARQL 1.1):


您可以根据需要调整此常规模式以适合您的查询。

为我使用ARC2进行SPARQL查询,这样我就不会有这样的请求。写在某处:ARC2不支持SPARQL 1.1的子查询。如何使用SPARQL 1.0创建查询?如何在ARC2 SPARQL 1.1中安装?-@Magdalena ARC2不支持SPARQL 1.1,因此如果您使用的是ARC2 What to use而不是集合,则无法使用此查询?Arc2将是我需要的,我需要的东西将取代我的收藏。
SELECT * WHERE
{
  ?list rdf:rest*/rdf:first ?member .
}