通过SPARQL从DBpedia中提取化学数据

时间:2014-09-20 16:30:45

标签: sparql dbpedia

我想知道如何向DDBpedia提交SPARQL查询,并返回一个表格,其中包含维基百科中所提供的信息" chembox"信息框模板,例如分子量或公式。

因此,第一步只是进行查询,其结果应该是包含公式和分子量属性的化学物质列表。但是以下内容没有返回结果:

SELECT * WHERE {
  ?y rdf:type dbpedia-owl:ChemicalSubstance.
  ?y rdfs:label ?Name .
  ?y dbpedia:molecularWeight ?molecularWeight .
  ?y dbpedia:formula ?formula .
  OPTIONAL {?y dbpedia-owl:iupacName ?iupacname} .
  FILTER (langMatches(lang(?Name),"en"))
}
LIMIT 50

SPARQL Explorer at dbpedia.org

所以我被困住了。这个查询有问题,或者DBPedia真的没有收集维基百科chemboxes的信息吗?

1 个答案:

答案 0 :(得分:2)

您为dbpedia:molecularWeightdbpedia:formula找到了错误的命名空间。这里正确的命名空间是dbpedia2

此外,似乎很少有条目包含dbpedia-owl:iupacNamedbpedia2:molecularWeight dbpedia2:formula

SELECT * WHERE {
  ?y rdf:type dbpedia-owl:ChemicalSubstance.
  ?y rdfs:label ?Name .
  OPTIONAL {?y dbpedia2:formula ?formula }.
  OPTIONAL {?y dbpedia2:molecularWeight ?molecularWeight}.
  OPTIONAL {?y dbpedia-owl:iupacName ?iupacname} .
  FILTER (langMatches(lang(?Name),"en"))
}
LIMIT 50

SPARQL Explorer @dbpedia.org


要获取正确的命名空间,您可以查看一个示例,如this,或使用

获取类型dbpedia-owl:ChemicalSubstance的所有已使用属性的列表
SELECT DISTINCT ?rel WHERE {
  ?y rdf:type dbpedia-owl:ChemicalSubstance.
  ?y ?rel ?x
}

SPARQL Explorer @dbpedia.org