我在 DBpedia SPARQL 端点上遇到了问题,因为端点中没有存储像 rdf:type
标签这样的属性。因此,当我运行此查询时:
SELECT *
WHERE{
<http://dbpedia.org/ontology/Place> ?predicat ?object .
OPTIONAL{?predicat rdfs:label ?label}
}
我没有任何关于?标签的信息。
如果有人有任何想法来解决这个问题,那将会非常有帮助。
最佳答案
您无法从 DBpedia 获取真正的标签,因为 SPARQL 端点没有它们。但您可以采用属性 URI 的本地名称。因此,对于 rdfs:subClassOf 你会得到“subClassOf”。那总比什么都没有好。这可以使用 Virtuoso 的(非标准)bif:regexp_replace
函数来完成。
SELECT DISTINCT (bif:regexp_replace(STR(?p), "^.*[/#]", "") AS ?label) WHERE {
<http://dbpedia.org/ontology/Place> ?p ?o .
}
关于sparql - DBpedia SPARQL 和谓词连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6227622/