簡體   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