gpt4 book ai didi

python - 在不更改源的情况下从 JSON 到 JSON-LD

转载 作者:太空宇宙 更新时间:2023-11-03 15:06:50 25 4
gpt4 key购买 nike

我的问题有“重复”,但他们没有回答我的问题。

考虑以下第 6.13 段中描述的 JSON-LD 示例 - 来自 http://www.w3.org/TR/json-ld/ 的命名图:

{
"@context": {
"generatedAt": {
"@id": "http://www.w3.org/ns/prov#generatedAtTime",
"@type": "http://www.w3.org/2001/XMLSchema#date"
},
"Person": "http://xmlns.com/foaf/0.1/Person",
"name": "http://xmlns.com/foaf/0.1/name",
"knows": "http://xmlns.com/foaf/0.1/knows"
},
"@id": "http://example.org/graphs/73",
"generatedAt": "2012-04-09",
"@graph":
[
{
"@id": "http://manu.sporny.org/about#manu",
"@type": "Person",
"name": "Manu Sporny",
"knows": "http://greggkellogg.net/foaf#me"
},
{
"@id": "http://greggkellogg.net/foaf#me",
"@type": "Person",
"name": "Gregg Kellogg",
"knows": "http://manu.sporny.org/about#manu"
}
]
}

问题:

如果您只从没有语义层的 JSON 部分开始会怎样:

[{
"name": "Manu Sporny",
"knows": "http://greggkellogg.net/foaf#me"
},
{
"name": "Gregg Kellogg",
"knows": "http://manu.sporny.org/about#manu"
}]

并且您使用 http 链接 header 或 rdflib 解析从单独的文件或位置链接 @context,那么文档的其余部分仍然没有 @id 和 @type。将那些缺失的键值注入(inject)到 json 字符串中不是一个干净的选择。这个想法是在不更改原始 JSON 部分的情况下从 JSON 转到 JSON-LD。

我认为定义三重主题的方式必须使用@id 来映射到 IRI。 JSON 数据不太可能具有 @id 键值。那么这是否意味着如果不先添加 key ,所有 JSON 文件都不能解析为 JSON-LD?我想知道他们是怎么做到的。有人有想法指出我正确的方向吗?谢谢。

最佳答案

不,很遗憾,这是不可能的。然而,存在正是出于这个原因而创建的库和工具。 JSON-LD Macros就是这样一个图书馆。它允许对 JSON 对象进行声明式转换,使它们可用作 JSON-LD。因此,实际上,您所需要的只是在现成的 JSON-LD 处理器之上的一个非常薄的层。

关于python - 在不更改源的情况下从 JSON 到 JSON-LD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31731863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com