[英]A context for a top level index-only key in JSON-LD
我正在嘗試使用 JSON-LD 使舊版 JSON 文件機器可讀。 有問題的 JSON 文件有一個頂級 object item
成員引用包含實際相關數據的 object。
{
"item": {
"id": "123",
"name": "Test"
}
}
當我現在介紹如下上下文時:
{
"@context": {
"name": "https://example.org/name"
}
}
沒有知識被提取,這意味着不能從中解釋三元組。 為了讓它發揮作用,我意識到我可以做到以下幾點:
{
"@context": {
"item": "https://example.org/exists",
"name": "https://example.org/name"
}
}
這個可行,這意味着很好地提取了名稱謂詞的三元組。 然而,這種方法的問題是,還提取了帶有exists
謂詞的不必要的三元組。
因此我嘗試將頂層 object 標記為索引容器,從而完全忽略item
鍵。 我只是找不到一種方法來執行此操作,而無需為item
術語分配 IRI,如果我分配一個,則再次提取不必要的三元組。
{
"@context": {
"name": "https://example.org/name"
}
}
沒有知識被提取,這意味着不能從中解釋三元組。 為了讓它發揮作用,我意識到我可以做到以下幾點:
這根本不起作用(因為item
術語沒有 IRI):
{
"@context": {
"item": {
"@container": "@index"
},
"name": "https://example.org/name"
}
}
這確實有效,但又出現了不必要的三元組:
{
"@context": {
"@container": "@index",
"item": "https://example.org/exists",
"name": "https://example.org/name"
}
}
我在這里想念什么? 如何創建僅提取name
三元組的上下文?
對照您的 JSON-LD 處理器檢查這一點:
{
"item": {
"id": "123",
"name": "Test"
} ,
"@context": {
"@base": "http://example.com/id/",
"id": "@id",
"item": "@nest",
"name": "https://example.org/name"
}
}
在 JSON-LD Playground 中,此上下文生成以下單個 RDF 三元組:
<http://example.com/id/123> <https://example.org/name> "Test" .
使用的 JSON-LD 功能:
"id": "@id"
);"item": "@nest"
) — JSON-LD 1.1 中的新功能。您也可能對RML感興趣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.