Tôi biết rằng việc chuyển đổi RDF thành JSON-LD có một số hạn chế, nhưng tôi tự hỏi liệu có cách nào tốt để chuyển đổi tránh sử dụng các nút trống không?Kiểm soát chuyển đổi RDF thành "đẹp hơn" JSON-LD
Ví dụ, đưa ra một đồ thị 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"
] .
Có thể, sử dụng (Java) JSON-LD để thực thi chuyển đổi sang một đại diện mảng dựa trên các 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"
}
}
Thay vì một cái gì đó như:
{
"@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"
}
]
}
]
}
Hiện tại, tôi đang lặp qua các câu trong biểu đồ và manu đồng minh sản xuất JSON, nhưng liệu có thể làm điều này bằng cách sử dụng các thư viện như java-jsonld hoặc một số kỹ thuật JSON-LD khác không?
Tuyệt vời! Tôi đã nhận được điều này để làm việc theo cách tôi muốn với việc thực hiện jsonld-java. Tôi tự hỏi nếu nó cũng có thể ngăn chặn @id và/hoặc các yếu tố khác với khung? – brinxmat
Không, điều đó là không thể tại thời điểm này nhưng bạn có thể bí danh sau đó để chỉ id vv nếu bạn thích rằng –
Tìm thấy ở đây một [java ví dụ bằng cách sử dụng rdf4j và jsonldjava] (http://stackoverflow.com/questions/43638342). – jschnasse