Sparql Can';t通过GraphDB API从URL加载一些本体
我可以使用Sparql Can';t通过GraphDB API从URL加载一些本体,sparql,graphdb,Sparql,Graphdb,我可以使用/rest/data/import/upload/{repositoryID}/url方法将MonDO本体加载到GraphDB Free 9中,方法如下: { "context": "http://purl.obolibrary.org/obo/mondo.owl", "data": "https://github.com/monarch-initiative/mondo/releases/download/current/mondo.owl", "format": "RD
/rest/data/import/upload/{repositoryID}/url
方法将MonDO本体加载到GraphDB Free 9中,方法如下:
{
"context": "http://purl.obolibrary.org/obo/mondo.owl",
"data": "https://github.com/monarch-initiative/mondo/releases/download/current/mondo.owl",
"format": "RDF/XML"
}
我也可以通过工作台加载,但不能以编程方式加载:
http://data.bioontology.org/ontologies/ICD9CM/submissions/17/download?apikey=8b5b7825-538d-40e0-9e9e-5ab9274a9aeb
我将format
行设置为“Turtle”,得到202个响应,但工作台没有显示任何导入。似乎有时我会在工作台的导入页面上看到错误消息,但我不知道要采取什么纠正措施
例如,如果我故意使用错误的格式(RDF/XML)通过工作台导入ICD9,那么我会看到
RDF分析错误:prolog中不允许包含内容。[第2行第1列]
在哪里,
-是存储库idabc
-是要导入的URLhttp://www.w3.org/TR/owl-guide/wine.rdf
-自纪元起的当前时间戳(在1534939094325
中,相当于bash
)date+%s
“上下文”:“
。数据库将创建一个增量,并仅更新更改的语句
curl 'http://localhost:7200/rest/data/import/upload/w2/url' -H 'Content-Type: application/json;charset=UTF-8' -H 'Accept: application/json, text/plain, */*' --data-binary '{"type":"url","name":"http://data.bioontology.org/ontologies/ICD9CM/submissions/17/download?apikey=8b5b7825-538d-40e0-9e9e-5ab9274a9aeb","format":"text/turtle","data":"http://data.bioontology.org/ontologies/ICD9CM/submissions/17/download?apikey=8b5b7825-538d-40e0-9e9e-5ab9274a9aeb","status":"NONE","message":"","context":"","replaceGraphs":[],"baseURI":null,"forceSerial":false,"timestamp":1534939094325,"parserSettings":{"preserveBNodeIds":false,"failOnUnknownDataTypes":false,"verifyDataTypeValues":false,"normalizeDataTypeValues":false,"failOnUnknownLanguageTags":false,"verifyLanguageTags":true,"normalizeLanguageTags":false,"verifyURISyntax":true,"verifyRelativeURIs":true,"stopOnError":true}}
GraphDB处理api密钥,但您应该以向上或“格式”的方式提供文件格式:“text/turtle”。希望这有帮助。多亏Ontotext中的Sava,我能够构造这个最小的curl命令,成功地从NCBO BioPortal加载ICD9CM turtle文件
curl -d \
'{"type":"url","format":"text/turtle","data":"http://data.bioontology.org/ontologies/ICD9CM/submissions/17/download?apikey=8b5b7825-538d-40e0-9e9e-5ab9274a9aeb","context":"http://data.bioontology.org/ontologies/ICD9CM/"}' \
-H 'Content-Type: application/json;charset=UTF-8' \
-X POST http://localhost:7200/rest/data/import/upload/disease_diagnosis_dev/url
- 我遗漏了许多键,包括
和所有时间戳
解析器设置
- 我使用了
curl样式,而不是-d…-X POST
样式--data binary
库(httr)
post.endpoint您能提供一个可接受格式的列表吗?我在支持的RDF格式中没有看到它们:ttl、RDF、rj、n3、nt、nq、trig、trix、brf、owl、jsonld,以及它们的.gz版本和.zip存档。谢谢,我非常感谢您的所有回复。您是说我应该将“ttl”作为“格式”传递吗参数,而不是“文本/乌龟”?我真的很想看到一个可以传递给该参数的参数列表。它在文档中的任何地方吗?您上面提供的列表看起来像是自动识别的文件扩展名。而且,如果知道url部分文件格式,您不应该编写后者,GraphDB会识别它。您能提供一个可接受格式的列表吗?我不知道在上看不到它们。我可以信任吗?它们没有列出BRF
curl -d \
'{"type":"url","format":"text/turtle","data":"http://data.bioontology.org/ontologies/ICD9CM/submissions/17/download?apikey=8b5b7825-538d-40e0-9e9e-5ab9274a9aeb","context":"http://data.bioontology.org/ontologies/ICD9CM/"}' \
-H 'Content-Type: application/json;charset=UTF-8' \
-X POST http://localhost:7200/rest/data/import/upload/disease_diagnosis_dev/url
library(httr)
post.endpoint <- "http://localhost:7200//rest/data/import/upload/disease_diagnosis_dev/url"
update.body <- '{
"type":"url",
"format":"text/turtle",
"context": "http://purl.bioontology.org/ontology/ICD9CM/",
"data": "http://data.bioontology.org/ontologies/ICD9CM/submissions/17/download?apikey=9cf735c3-a44a-404f-8b2f-c49d48b2b8b2"
}'
post.result <- POST(post.endpoint,
body = update.body,
content_type("application/json"))