从JSON到JSONLD,而不更改sou

2024-09-29 03:24:07 发布

您现在位置:Python中文网/ 问答频道 /正文

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

考虑下面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部分开始,而没有语义层,会怎么样:

^{pr2}$

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

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


Tags: nameorgcomidjsonhttpwwwtype
1条回答
网友
1楼 · 发布于 2024-09-29 03:24:07

不,不幸的是那不可能。然而,有一些库和工具正是为此而创建的。JSON-LD Macros就是这样一个库。它允许对JSON对象进行声明性转换,使其可用作JSON-LD。因此,实际上,您所需要的只是在现成的JSON-LD处理器上加上一层非常薄的层。在

相关问题 更多 >