Sono consapevole che la conversione di RDF in JSON-LD ha alcune limitazioni, ma mi chiedo se ci sia un buon modo per evitare la conversione di nodi vuoti?Controllo della conversione di RDF in "più carino" JSON-LD
Ad esempio, in un grafico RDF:
@prefix ex: <http://example.org/ontology#> .
<http://example.org/x123> ex:house [
a ex:House ;
ex:houseNumber "1a" ;
ex:doorColour "blue"
] ;
ex:house [
a ex:House ;
ex:houseNumber "1b" ;
ex:doorColour "green"
] .
E 'possibile, usando (Java) JSON-LD per imporre la conversione in una rappresentazione basata su array dei bnodes:
{
"id": "http://example.org/x123",
"house": [{
"type": "House",
"houseNumber": "1a",
"doorColour": "blue"
}, {
"type": "House",
"houseNumber": "1b",
"doorColour": "green"
}],
"@context": {
"ex": "http://example.org/ontology#",
"house": "ex:house",
"houseNumber": "ex:houseNumber",
"doorColour": "ex:doorColour",
"House": "ex:House",
"id": "@id",
"type": "@type"
}
}
Piuttosto che qualcosa:
{
"@graph": [
{
"@id": "_:b0",
"@type": "http://example.org/ontology#House",
"http://example.org/ontology#doorColour": "blue",
"http://example.org/ontology#houseNumber": "1a"
},
{
"@id": "_:b1",
"@type": "http://example.org/ontology#House",
"http://example.org/ontology#doorColour": "green",
"http://example.org/ontology#houseNumber": "1b"
},
{
"@id": "http://example.org/x123",
"http://example.org/ontology#house": [
{
"@id": "_:b0"
},
{
"@id": "_:b1"
}
]
}
]
}
Al momento, sto iterando sulle affermazioni nel grafico e nel manu producendo il JSON, ma è possibile farlo usando librerie come java-jsonld o qualche altra tecnica JSON-LD?
Eccellente! Ho fatto in modo che funzionasse nel modo che volevo con l'implementazione jsonld-java. Mi chiedo se sia possibile anche sopprimere @id e/o altri elementi con l'inquadratura? – brinxmat
No, al momento non è possibile, ma puoi anche alias, ecc. Se preferisci che sia –
Trova qui un [esempio java usando rdf4j e jsonldjava] (http://stackoverflow.com/questions/43638342). – jschnasse