【发布时间】:2014-01-21 16:49:31
【问题描述】:
我知道你可以通过简单的查询获得所有属性的列表和所有人的列表:
select distinct ?property where {
?instance a <http://dbpedia.org/ontology/Person> .
?instance ?property ?obj . }
但是我如何在不输入每个数量的情况下获取可用人员的所有信息? Select * 不会像在 SQL 中那样提取所有变量。
SELECT * WHERE
{ ?p a <http://dbpedia.org/ontology/Person> .
?p <http://dbpedia.org/ontology/knownFor> ?knownFor . }
LIMIT 10
这只会给我 person 和 knownfor 属性。我认为 select * 给出了所有数量?在任何情况下,我想要的不仅仅是这个人或他们的 knownfor 属性,而是每个人可能的所有值。
【问题讨论】:
-
你想获取特定人的所有属性和值吗?
-
是的,没错。虽然我只希望每列的值都是一个属性。
-
我认为不可能将属性作为列,因为 sparql 查询的响应是一个映射,其中变量作为列,变量的不同可能值作为行
-
@conca 不仅如此,而且由于 RDF 不是数据库,因此没有固定的属性集,因此对其中的“列”数量没有真正的限制结果。
-
顺便说一句:
SELECT *确实返回所有变量。但是“所有变量”是指“查询中声明的所有变量”,而不是“数据中所有可能的属性/值”。