Reference @context via URL with something with type @id

Sorry for the lengthiness of this email, but I think I've got it down to
the minimal data to understand:

Consider the following JSON-LD

{
  "@context": [
    "https://iotdb.org/pub/iot",
    {
    "@vocab": "https://iotdb.org/pub/iot#"
    },
    {
      "model": { "@type": "@id" }
    }
  ],
  "@id":
"/api/things/urn:iotdb:thing:REST:20b2c3ca712e8b0031debf3453cc75d1:rest-color-light",
  "model":
"/api/things/urn:iotdb:thing:REST:20b2c3ca712e8b0031debf3453cc75d1:rest-color-light/model"
}


This converts to the following nquads, exactly as expected

</api/things/urn:iotdb:thing:REST:20b2c3ca712e8b0031debf3453cc75d1:rest-color-light>
<https://iotdb.org/pub/iot#model>
</api/things/urn:iotdb:thing:REST:20b2c3ca712e8b0031debf3453cc75d1:rest-color-light/model>
.


BUT the fact that

"model": { "@type": "@id" }


 is _already_ defined in "https://iotdb.org/pub/iot" (go look at "
https://iotdb.org/pub/iot.jsonld). So my understanding is we shouldn't have
to explicitly spell that out here. But when I do:

{
  "@context": [
    "https://iotdb.org/pub/iot",
    {
    "@vocab": "https://iotdb.org/pub/iot#"
    }
  ],
  "@id":
"/api/things/urn:iotdb:thing:REST:20b2c3ca712e8b0031debf3453cc75d1:rest-color-light",
  "model":
"/api/things/urn:iotdb:thing:REST:20b2c3ca712e8b0031debf3453cc75d1:rest-color-light/model"
}


We get

</api/things/urn:iotdb:thing:REST:20b2c3ca712e8b0031debf3453cc75d1:rest-color-light>
<https://iotdb.org/pub/iot#model>
"/api/things/urn:iotdb:thing:REST:20b2c3ca712e8b0031debf3453cc75d1:rest-color-light/model"
.


Note that the last bit is not in angle brackets, it's a string not an @id.

Thoughts?

Received on Monday, 8 June 2015 20:12:07 UTC