2014-09-20 24 views
1

我想知道如何向DDBpedia提交SPARQL查詢並返回包含維基百科「chembox」信息框模板中的信息的表格,例如分子量或式。從DBpedia通過SPARQL提取化學數據

因此,第一步只是做一個查詢,其結果應該是包含公式和分子量屬性的化學物質列表。但是,下面的也不返回結果:

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是否真的不從維基百科的chembox中收集這些信息?

回答

2

您發現dbpedia:molecularWeightdbpedia:formula的命名空間都是錯誤的。這裏的正確命名空間是dbpedia2

而且,似乎很少有dbpedia-owl:iupacNamedbpedia2:molecularWeightdbpedia2: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

+0

謝謝。啊。公式字段數據非常混亂,分子量似乎不存在。 – 2014-09-20 22:30:33

+1

@GlennHowes http://dbpedia.org/ontology/ ...(dbpedia-owl :)屬性有更清晰的數據,應該優先於dbprop:當它們可用時。 – 2014-09-21 02:21:23

+0

所以你說當我想通過公式搜索或檢索公式時,有一種替代方法可以用於http://dbpedia.org/property/formula? – 2014-09-21 12:08:43