[英]How to retrieve XML/RDF data from a dbpedia link or URL?
最近我一直在努力学习语义网。 对于项目,我需要从给定的dbPedia链接中检索数据。 例如http://dbpedia.org/page/Berlin 。 但是当使用java.net.URLConnection检索数据时,我得到了html数据。 如何从同一链接获取xml? 我知道每个dbpedia页面都有链接来下载XML,但这不是我想要做的。 提前致谢。
请注意,资源的URI实际上是http://dbpedia.org/resource/Berlin (带资源 ,而不是页面 )。 理想情况下,您可以使用application / rdf + xml的Accept标头请求URI,并获取资源的RDF / XML表示。 这就是BBC如何发布他们的数据(例如,看到这个答案 ),但DBpedia不这样做。 即使您请求application / rdf + xml,您最终也会获得重定向。 您可以查看是否尝试使用HTTP客户端。 例如,在Chrome中使用Advanced Rest Client,我们将获得此303重定向:
在Web浏览器中,您将通过303 See Other响应代码重定向到页面版本。 理想情况下,您可以请求将accept头设置为application / rdf + xml的资源URI并获取数据,但DBpedia不能很好地放置。
所以,这意味着最简单的方法是注意在http://dbpedia.org/page/Berlin的底部,有一些下载链接的文本:
RDF( N-Triples N3 / Turtle JSON XML )
最后一个链接的URL是http://dbpedia.org/data/Berlin.rdf 。 因此,您可以通过将页面或资源更改为数据来获取RDF / XML,并将.rdf附加到URL的末尾。 它不是最ReSTful解决方案,但它似乎是可用的。
从dbpedia访问数据的好处是通过Sparql
。 您可以使用Apache Jena对http://dbpedia.org/sparql运行sparql
查询
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.