sparql - DBpedia SPARQL 和谓词连接

标签 sparql dbpedia

我在 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/

相关文章:

SPARQL 从类或个人中获取所有属性

rdf - 在SPARQL模式中选择多个值作为对象

sparql - 如何从维基百科获取完整的页面标题列表?

sparql - 我想在本地设置 dbpedia 数据集

sparql - 从 sparql 中的日期时间中删除时间

java - 从 jena QuerySolution 到 Model tdb rdf

SPARQL 查询,按名称获取公司(如果包含文本)

php - 如何在 php 中对本地 rdf 文件运行 sparql 查询

从本体导出数据 - Protege