控制 RDF 到 "prettier" JSON-LD 的转换
Controlling conversion of RDF to "prettier" JSON-LD
我知道将 RDF 转换为 JSON-LD 有一些限制,但我想知道是否有一种好的方法可以避免使用空白节点进行转换?
例如,给定一个 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"
] .
是否可以使用 (Java) JSON-LD 强制转换为基于数组的 bnode 表示:
{
"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"
}
}
而不是像这样的东西:
{
"@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"
}
]
}
]
}
目前,我正在遍历图中的语句并手动生成 JSON,但是是否可以使用 java-jsonld 或某些库来完成此操作其他 JSON-LD 技术?
您可以使用框架来实现这一点。查看 JSON-LD 游乐场中的库示例。不幸的是,它还没有标准化,所以各种实现可能不会产生完全相同的输出and/or超级不同的特性
我知道将 RDF 转换为 JSON-LD 有一些限制,但我想知道是否有一种好的方法可以避免使用空白节点进行转换?
例如,给定一个 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"
] .
是否可以使用 (Java) JSON-LD 强制转换为基于数组的 bnode 表示:
{
"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"
}
}
而不是像这样的东西:
{
"@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"
}
]
}
]
}
目前,我正在遍历图中的语句并手动生成 JSON,但是是否可以使用 java-jsonld 或某些库来完成此操作其他 JSON-LD 技术?
您可以使用框架来实现这一点。查看 JSON-LD 游乐场中的库示例。不幸的是,它还没有标准化,所以各种实现可能不会产生完全相同的输出and/or超级不同的特性