我正在运行此查询以获取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也未被涵盖它有我正在搜索的属性吗?
答案 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结果给你。