semantic-web - 如何操作Json-ld?

标签 semantic-web json-ld

我有这个 json-ld:

{ "@id":   "http://www.example.com/john-doe",
    "@type":   "http://xmlns.com/foaf/0.1/Person",
    "http://xmlns.com/foaf/0.1/name":   "John   Doe",
    "http://xmlns.com/foaf/0.1/age":   {
    "@value":   "42",
    "@kind":   "http://www.w3.org/2001/XMLSchema#nonNegativeInteger"},
    "http://xmlns.com/foaf/0.1/knows" : [
      {   "@id":   "http://www.example.com/charlie-brown"   },
      {   "@id":   "http://www.example.com/jane-doe"   }
    ]
  }

我必须编写上下文,以便下面的 json-ld 有效。

{ "@context" : "context to write....",
  "@id":   "john-doe",
  "@type":   "person",
  "name":   "John   Doe",
  "age":   "42",
  "knows":   ["charlie-brown", "jane-doe"]
}

我已经写了一个解决方案,但它不完整,而且我不知道如何编写完整的解决方案,希望有人可以帮助我。

最佳答案

您必须使用framing以获得接近您要求的结果。

使用这个link for an example在 json-ld Playground 中。这就是嵌入 @context 的文档的样子:

{
  "@context": {
    "name": {
      "@id": "http://xmlns.com/foaf/0.1/name"
    },
    "age": {
      "@id": "http://xmlns.com/foaf/0.1/age"
    },
    "knows": {
      "@id": "http://xmlns.com/foaf/0.1/knows",
      "@container": "@set"
    }
  },
 "@id": "john-doe",
 "@type": "person",
  "name": "John   Doe",
  "age": "42",
  "knows": [
    "charlie-brown",
    "jane-doe"
  ]
}

这就是框架的样子

{
  "@context": {
    "name": {
      "@id": "http://xmlns.com/foaf/0.1/name"
    },
    "age": {
      "@id": "http://xmlns.com/foaf/0.1/age"
    },
    "knows": {
      "@id": "http://xmlns.com/foaf/0.1/knows",
      "@container": "@set"
    }
  }
}

这将渲染到

{
  "@context": {
    "name": {
      "@id": "http://xmlns.com/foaf/0.1/name"
    },
    "age": {
      "@id": "http://xmlns.com/foaf/0.1/age"
    },
     "knows": {
      "@id": "http://xmlns.com/foaf/0.1/knows",
      "@container": "@set"
    }
  },
  "@graph": [
    {
      "@id": "john-doe",
      "@type": "https://json-ld.org/playground/person",
      "age": "42",
      "knows": [
        "charlie-brown",
        "jane-doe"
      ],
      "name": "John   Doe"
    }
  ]
}

关于semantic-web - 如何操作Json-ld?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48719613/

相关文章:

rdf - 如何为 JSON-LD 中的 RDF 值编码数据类型 IRI?

namespaces - JSON-LD 上下文中的不同值前缀

semantic-web - JSON-LD 压缩和压缩 IRI 作为值

rdf - rdf :type 上的属性链推理

sparql - 查询内存不足的大型 RDF 数据集

c# - C# 的 RDF/OWL/SPARQL/Triple Stores/Reasoners 和其他语义 Web API?

hateoas - 遵循 JSON-LD API 中的所有链接

json - JSON-LD 中的 IRI 映射和引用

semantic-web - 如何在 Protege 中保存推理器 FaCT++ 或 HermiT 的结果

rdf - 是否可以为 JSON-LD 上下文文件中的同一个谓词分配两个不同的别名?