W3C home > Mailing lists > Public > public-linked-json@w3.org > December 2015

Casting literals as IRIs

From: Jindřich Mynarz <mynarzjindrich@gmail.com>
Date: Thu, 17 Dec 2015 11:04:04 +0100
Message-ID: <CAE=8Bu-b8+eAPG36SgdHy41ifqY6GPZuEx9DGrtctqTYijT=gQ@mail.gmail.com>
To: public-linked-json@w3.org
Hi,

I found that some services return JSON-LD, in which IRIs are serialized as
literals. For example, consider the following example:

{
  "@id": "http://mynarz.net/#jindrich",
  "http://xmlns.com/foaf/0.1/knows": [
     "http://ruben.verborgh.org/#me",
     "http://richard.cyganiak.de/foaf.rdf#cygri"
  ]
}

The objects of foaf:knows are serialized as literals, even though they are
IRIs.

Now, if I want to recover the objects of foaf:knows as IRIs, the following
context is of no use:

{
  "@context": {
    "foaf": "http://xmlns.com/foaf/0.1/",
    "foaf:knows": {"@type": "@id"}
  }
}

The definition of foaf:knows in this way doesn't match the input JSON-LD,
which ends up compacted as:

{
  "@context": {
    "foaf": "http://xmlns.com/foaf/0.1/",
    "foaf:knows": {
      "@type": "@id"
    }
  },
  "@id": "http://mynarz.net/#jindrich",
  "http://xmlns.com/foaf/0.1/knows": [
    "http://ruben.verborgh.org/#me",
    "http://richard.cyganiak.de/foaf.rdf#cygri"
  ]
}

I.e. not even the foaf namespace prefix is used. JSON-LD Framing gives the
same result.

Is it possible to use a JSON-LD context or frame to *coerce* literal
objects to IRIs?

Best,

Jindřich

-- 
Jindřich Mynarz
http://mynarz.net/#jindrich
Received on Thursday, 17 December 2015 10:04:52 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:18:46 UTC