DBPedia查询缺少某些化合物

时间:2013-08-28 05:46:05

标签: sparql dbpedia chemistry

我正在运行此查询以获取DBPedia public SPARQL endpoint中所有化合物的列表。

SELECT * WHERE {
  ?y rdf:type dbpedia-owl:Drug.
  ?y rdfs:label ?Name .
  OPTIONAL {?y dbpedia-owl:iupacName ?iupacname} .
  OPTIONAL {?y dcterms:subject ?y1}
  FILTER (langMatches(lang(?Name),"en"))
}
LIMIT 50000

我使用offset参数批量下载50000(2个文件)。

不管怎样,即使页面存在于

,Isopropyl_alcohol也未被涵盖

它有我正在搜索的属性吗?

2 个答案:

答案 0 :(得分:0)

也许它没有在你正在使用的LIMIT / OFFSET组合中找到它。服务器没有义务每次都以相同的顺序回答查询,除非你使用ORDER BY,所以你所拥有的切片实际上并不是所有结果。

可能SPARQL网站和live.dbpedia不在同步中。

尝试直接询问异丙醇。

答案 1 :(得分:0)

这里有两个问题。首先,DBpedia Live和DBpedia没有完全相同的内容。根据{{​​3}}

  

维基百科用户不断修改维基百科文章的更新   发生几乎每一秒。因此,数据存储在官方   DBpedia端点可以很快变得过时,而维基百科文章也是如此   需要重新提取。 DBpedia Live可以实现这样的连续性   DBpedia与维基百科之间的同步。

该页面还列出了DBpedia Live的两个SPARQL端点:

但是,你们两个都会遇到问题。 Isopropyl_alcohol在DBpedia中,其URI是

在那里,我们看到异丙醇没有rdf:type dbpedia-owl:Drug,只有

所以你无法在DBpedia上查询它,因为它没有类型`dbpedia-owl:Drug。现在,Isopropyl_alcohol也存在于DBpedia live中,其URL为

但它只有以下rdf:type s:

因此,您在DBpedia Live上的查询无法找到它,原因相同。

第二个问题是AndyS http://umbel.org/umbel/rc/ChemicalSubstanceType。即使查询在DBpedia或DBpedia Live中选择Isopropyl_alcohol,除非您提供排序约束,否则limit/offset组合将无法保证返回它,因为没有排序约束,服务器可以合法地返回相同的集合每次50000结果给你。