我不知道 Jena API 是否支持 JSON-LD,但它支持 RDF/JSON,这是 RDF 三元组的直接编码。您可以使用 Jena API,但使用 Jena 执行此操作的更方便的方法是使用 Jena 命令行rdfcat
工具。该选项生成的帮助菜单--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
。例如,使用众所周知的 Pizza 本体,我们得到:
$ 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...