繁体   English   中英

将大型RDF / XML文件转换或转换为JSON-LD格式 - 如何?

[英]Convert or translate a big RDF/XML file to JSON-LD format - HOW?

我需要将这个40MB的RDF / XML文件转换为JSON-LD格式,我只找到了这个根本不起作用的网络工具 当您粘贴40MB的文本时,它会崩溃,当您为其提供文件的URL时,它会说该服务不可用。

从理论上讲,Jena API或芝麻应该能够做到这一点,但我错过了一个起点和关于这些系统的知识。 有人可以给我一个路线,一个示例或链接到有用的文档,以便将大型RDF / XML转换为JSON-LD吗?

(我对Java,C#或一个工作解决方案感到满意,我不需要在另一种语言/框架中有太多的编程知识)。

您可以使用RDFLib以RDF / XML格式读取RDF,并使用json-ld序列化器将其序列化为JSON-LD

graph.parse(my_url, format='application/rdf+xml')


graph.serialize(my_url, format='application/json-ld')

我使用这个工具做到了: http//rdf-translator.appspot.com/

可悲的是,upload- /下载大小为太大,所以我从得到的代码在这里和运行它在当地的谷歌应用程序引擎这里端口8999。然后我去与猫头鹰文件“ds.owl”的目录,并使用以下命令将其放入ds.json文件中:

curl --data-urlencode content@eclass_514en.owl http://localhost:8999/convert/detect/json-ld/content > ds.json

这是唯一有用的东西,我尝试了大约4个更大的本体文件。

我不知道Jena API支持JSON-LD,但它支持RDF / JSON ,它是RDF三元组的直接编码。 您可以使用Jena API,但使用Jena命令行rdfcat工具更方便的方法是使用Jena。 --help选项生成的帮助菜单有点过时,但看起来像这样:

$ rdfcat --help
Usage: java jena.rdfcat (option|input)*
Concatenates the contents of zero or more input RDF documents.
Options: -out N3 | N-TRIPLE | RDF/XML | RDF/XML-ABBREV
         -n  expect subsequent inputs in N3 syntax
         -x  expect subsequent inputs in RDF/XML syntax
         -t  expect subsequent inputs in N-TRIPLE syntax
         -[no]include  include rdfs:seeAlso and owl:imports
input can be filename, URL, or - for stdin
Recognised aliases for -n are: -n3 -ttl or -N3
Recognised aliases for -x are: -xml -rdf or -rdfxml
Recognised aliases for -t are: -ntriple
Output format aliases: x, xml or rdf for RDF/XML, n, n3 or ttl for N3, t or ntriple for N-TRIPLE
See the Javadoc for jena.rdfcat for additional details.

除此之外,您还想知道的是您可以传递输出格式RDF/JSON 例如,使用众所周知的比萨本体,我们得到:

$ rdfcat -out RDF/JSON ../sparql-pizza2/pizza.owl  | head -25
{ 
  "_:-b8ef06:140ee02a0b1:-7ff7" : { 
    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" : [ { 
      "type" : "uri" ,
      "value" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"
    }
     ] ,
    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first" : [ { 
      "type" : "uri" ,
      "value" : "http://www.co-ode.org/ontologies/pizza/pizza.owl#TomatoTopping"
    }
     ]
  }
   ,
  "http://www.co-ode.org/ontologies/pizza/pizza.owl#Food" : { 
    "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { 
      "type" : "uri" ,
      "value" : "http://www.co-ode.org/ontologies/pizza/pizza.owl#DomainConcept"
    }
     ] ,
    "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" : [ { 
      "type" : "uri" ,
      "value" : "http://www.w3.org/2002/07/owl#Class"
    }
     ]
...and so on...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM