我想知道如何向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的信息吗?
答案 0 :(得分:2)
您为dbpedia:molecularWeight
和dbpedia:formula
找到了错误的命名空间。这里正确的命名空间是dbpedia2
。
此外,似乎很少有条目包含dbpedia-owl:iupacName
,dbpedia2: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
要获取正确的命名空间,您可以查看一个示例,如this,或使用
获取类型dbpedia-owl:ChemicalSubstance
的所有已使用属性的列表
SELECT DISTINCT ?rel WHERE {
?y rdf:type dbpedia-owl:ChemicalSubstance.
?y ?rel ?x
}