我有简单的RDF数据集,具有以下值:用户,网址,时间和IP。我可以列出所有的数据使用:获取具有特定属性的所有数据SPARQL
SELECT DISTINCT * WHERE { ?s ?p ?o }
但现在我需要列出所有的数据与特定的用户。如果来自查询的数据与来自上面的查询的数据格式相同但我们不需要,我将非常感激。
我想这和一些修改,这一点,但它没有一个似乎工作:
SELECT DISTINCT * WHERE { ?s ?p ?o. ?u foaf:user username. }
我刚开始与耶拿和SPARQL和任何帮助的工作将非常感激。提前致谢。
编辑:@AKSW foaf:user
工作,因为foaf
是我自己的前缀我定义。我努力使查询工作,并不知道我在做什么。这是我还没有清理的东西。
我最终使用查询SELECT DISTINCT * WHERE {?u foaf:name USER_NAME_LITERAL . ?u ?p ?o . }
这是你建议的,所以谢谢。如果您将其作为回答发布,我会将其标记为已接受。
RDF中的资源由URI标识,因此您的用户也是。 'SELECT DISTINCT * WHERE {?p?o}'。 –
AKSW
SPARQL查询重新使用变量名称,以便它们连接三重模式,并且一般会构建一个图形。您的第二个查询由两个未连接的三元模式组成。 – AKSW
不知道'foaf:user'应该是什么,但是在FOAF中没有这样的属性。 'foaf:name'是一个常见的属性:http://xmlns.com/foaf/spec/ – AKSW