dbpedia化学元素查询
dbpedia chemical element query
我一直在尝试进行 DBpedia 查询以获取信息框中与化学元素相关的数据(不是 compounds/substances)。我的目标是类似于 this but for elements (like this).
但是,当我执行如下查询时:
SELECT * WHERE{
:Arsenic ?predicate ?object.
}
示例中显示的大多数属性甚至都没有显示。我做错了什么?
Extract Chemical Data from DBpedia via SPARQL SO 问题不太好让您知道查询中的完全限定 URI 是什么。但是如果你仔细看博客,Arsenic 的完整 URI 被列为 http://dbpedia.org/resource/Category:Arsenic
。完整的 URI 就是您所需要的。您可以单独使用它:
SELECT *
WHERE {
<http://dbpedia.org/resource/Category:Arsenic> ?predicate ?object.
}
...或为 DBPedia 资源命名空间定义前缀:
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT *
WHERE {
dbpedia:Category:Arsenic ?predicate ?object.
}
请注意,在这种情况下,PREFIX
定义将 dbpedia:
替换为命名空间 http://dbpedia.org/resource/
。
问题是,当您查看 the source of the Arsenic page on Wikipedia 时,它并不直接包含任何数据,相反,它只包含:{{Infobox arsenic}}
.
我认为 DBpedia 无法从那里提取数据,这就是您看不到任何有用信息的原因。
我一直在尝试进行 DBpedia 查询以获取信息框中与化学元素相关的数据(不是 compounds/substances)。我的目标是类似于 this but for elements (like this).
但是,当我执行如下查询时:
SELECT * WHERE{
:Arsenic ?predicate ?object.
}
示例中显示的大多数属性甚至都没有显示。我做错了什么?
Extract Chemical Data from DBpedia via SPARQL SO 问题不太好让您知道查询中的完全限定 URI 是什么。但是如果你仔细看博客,Arsenic 的完整 URI 被列为 http://dbpedia.org/resource/Category:Arsenic
。完整的 URI 就是您所需要的。您可以单独使用它:
SELECT *
WHERE {
<http://dbpedia.org/resource/Category:Arsenic> ?predicate ?object.
}
...或为 DBPedia 资源命名空间定义前缀:
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT *
WHERE {
dbpedia:Category:Arsenic ?predicate ?object.
}
请注意,在这种情况下,PREFIX
定义将 dbpedia:
替换为命名空间 http://dbpedia.org/resource/
。
问题是,当您查看 the source of the Arsenic page on Wikipedia 时,它并不直接包含任何数据,相反,它只包含:{{Infobox arsenic}}
.
我认为 DBpedia 无法从那里提取数据,这就是您看不到任何有用信息的原因。