控制RDF到“的转换;“更漂亮”;JSON-LD

控制RDF到“的转换;“更漂亮”;JSON-LD,rdf,json-ld,blank-nodes,Rdf,Json Ld,Blank Nodes,我知道RDF到JSON-LD的转换有一些限制,但我想知道是否有一种好方法可以使转换避免使用空白节点 例如,给定一个RDF图: @prefix ex: <http://example.org/ontology#> . <http://example.org/x123> ex:house [ a ex:House ; ex:h

我知道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"
                                   ] .
而不是像:

{
  "@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平台中的库示例。不幸的是,它还没有标准化,因此各种实现可能不会产生完全相同的输出和/或超级不同的功能

太棒了!我用jsonld java实现的方式实现了这一点。我想知道是否也可以使用框架来抑制@id和/或其他元素?不,目前不可能,但您可以将其别名为“仅id”等。如果您愿意,请在此处查找。
{
  "@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"
        }
      ]
    }
  ]
}