如果我运行此查询:
SELECT ?subject
WHERE { <http://dbpedia.org/resource/Oslo> dcterms:subject ?subject. }
我明白了:
哪个是对的。但是我想要dbprop中的所有值。所以这一部分:
因此,无效的伪代码将是:
SELECT ?properties
WHERE { <http://dbpedia.org/resource/Oslo> dbprop:* ?properties. }
预期结果将是每个属性(如dbpprop:aprRecordHighC
)及其值(如25.400000
)。
这可能吗?
答案 0 :(得分:1)
是的,有可能。 如果你想要所有的属性和值给出&#34;奥斯陆&#34;资源,您应该发出以下查询:
SELECT ?property ?value
WHERE { <http://dbpedia.org/resource/Oslo> ?property ?value. }
如果您只需要dbprop属性,则可以添加过滤器:
SELECT ?property ?value
WHERE { <http://dbpedia.org/resource/Oslo> ?property ?value
FILTER regex(str(?property), "http://dbpedia\\.org/property/")}
我在dbpedia endpoint中尝试了这两个查询,但它们都有效。
您可以在SPARQL规范中找到更多信息:http://www.w3.org/TR/rdf-sparql-query/#func-str
编辑:显然,从评论中我看到此问题已在之前的here
中得到解答