如何通过Linux curl获取DBpedia、GENEPIO等远程HTTP IRI的RDF数据?
如何通过curl获取DBpedia、GENEPIO等IRI的RDF数据
这些IRI默认返回HTML,是因为服务器会根据请求的Accept头字段返回对应格式的内容。只要在curl请求中指定RDF相关的MIME类型,就能直接获取到RDF数据。
1. DBpedia资源的获取方法
DBpedia支持多种RDF序列化格式,以http://dbpedia.org/resource/Resource_Description_Framework为例:
- 获取NTriples格式:
curl -H "Accept: text/plain" http://dbpedia.org/resource/Resource_Description_Framework
- 获取JSON-LD格式:
curl -H "Accept: application/ld+json" http://dbpedia.org/resource/Resource_Description_Framework
- 获取RDF/XML格式:
curl -H "Accept: application/rdf+xml" http://dbpedia.org/resource/Resource_Description_Framework
- 获取Turtle格式:
curl -H "Accept: text/turtle" http://dbpedia.org/resource/Resource_Description_Framework
2. OBO本体资源的获取方法
GENEPIO、NCBITaxon这类OBO资源,支持返回OWL(RDF序列化)或原生OBO格式,以http://purl.obolibrary.org/obo/GENEPIO_0100155为例:
- 获取RDF/XML格式:
curl -H "Accept: application/rdf+xml" http://purl.obolibrary.org/obo/GENEPIO_0100155
- 获取原生OBO格式:
curl -H "Accept: application/oboformat" http://purl.obolibrary.org/obo/GENEPIO_0100155
通用原理
这类语义Web服务遵循HTTP内容协商机制:服务器会识别请求头中的Accept字段,返回客户端指定格式的资源。常用的RDF相关MIME类型包括:
text/plain:对应NTriples格式application/rdf+xml:RDF/XML格式application/ld+json:JSON-LD格式text/turtle:Turtle格式application/oboformat:OBO本体格式
内容的提问来源于stack exchange,提问作者chenkun
相关产品推荐
相关产品推荐

