Skip to content

lists of objects don't appear to frame correctly #5

@johnataylor

Description

@johnataylor

The following flattened and expanded JSON:

[
  {
    "@id": "http://tempuri.org/schema#sub0",
    "@type": [
      "http://tempuri.org/schema#Class"
    ],
    "http://tempuri.org/schema#prop0": [
      {
        "@list": [
          {
            "@id": "http://tempuri.org/schema#hello"
          },
          {
            "@id": "http://tempuri.org/schema#world"
          }
        ]
      }
    ]
  },
  {
    "@id": "_:autos1",
    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [
      {
        "@id": "http://tempuri.org/schema#hello"
      }
    ],
    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [
      {
        "@id": "_:autos2"
      }
    ]
  },
  {
    "@id": "_:autos2",
    "http://www.w3.org/1999/02/22-rdf-syntax-ns#first": [
      {
        "@id": "http://tempuri.org/schema#world"
      }
    ],
    "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest": [
      {
        "@id": "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"
      }
    ]
  },
  {
    "@id": "http://tempuri.org/schema#hello",
    "http://tempuri.org/schema#prop1": [
      {
        "@value": "Hello"
      }
    ]
  },
  {
    "@id": "http://tempuri.org/schema#world",
    "http://tempuri.org/schema#prop1": [
      {
        "@value": "World"
      }
    ]
  }
]

With the frame:

{
    "@context" : { 
        "ns" : "http://tempuri.org/schema#",

        "prop0" : { "@container" : "@list" },

        "@vocab" : "http://tempuri.org/schema#"
    },
    "@type" : "ns:Class"
} 

Should produce a framed form like this, according to the json-ld playground

{
  "@context": {
    "ns": "http://tempuri.org/schema#",
    "prop0": {
      "@container": "@list"
    },
    "@vocab": "http://tempuri.org/schema#"
  },
  "@graph": [
    {
      "@id": "ns:sub0",
      "@type": "Class",
      "prop0": [
        {
          "@id": "ns:hello",
          "prop1": "Hello"
        },
        {
          "@id": "ns:world",
          "prop1": "World"
        }
      ]
    }
  ]
}

However it appears to drop the nested objects, just leaving their links

{
  "@id": "ns:sub0",
  "@type": "Class",
  "prop0": [
    {
      "@id": "ns:hello"
    },
    {
      "@id": "ns:world"
    }
  ],
  "@context": {
    "@vocab": "http://tempuri.org/schema#",
    "ns": "http://tempuri.org/schema#",
    "prop0": {
      "@id": "ns:prop0",
      "@container": "@list"
    }
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions