Преобразование или перевод большого файла RDF / XML в формат JSON-LD-как?
Мне нужно преобразовать это 40 МБ файл RDF / XML в формат JSON-LD, и я нашел только этот веб-инструмент, это вообще не работает. Когда вы вставляете 40 МБ текста, он аварийно завершает работу, и когда вы даете ему URL-адрес файла, он говорит, что служба недоступна.
теоретически API Jena, или, может быть, Sesame должен быть в состоянии сделать это, но мне не хватает отправной точки и знаний об этих системах. Может кто-нибудь дать мне маршрут, пример или ссылка на полезную документацию для перевода большого RDF / XML в JSON-LD?
(Я был бы доволен Java, C# или рабочим решением, где мне не нужно слишком много знаний программирования на другом языке / фреймворке).
3 ответов
Я сделал это с помощью этого инструмента: http://rdf-translator.appspot.com/
к сожалению, размеры загрузки / загрузки были слишком большими, поэтому я получил код от здесь и запустил его на локальном Google App Engine от здесь порт 8999. Затем я пошел в каталог с файлом owl ' ds.сова " и использовал следующую команду, чтобы получить его в 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. Вы можете использовать API Jena, но более удобный способ сделать это с Jena - использовать командную строку 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...