- From: Dietrich Schulten <ds@escalon.de>
- Date: Fri, 18 Dec 2015 12:35:03 +0100
- To: Jindřich Mynarz <mynarzjindrich@gmail.com>
- Cc: public-linked-json@w3.org
- Message-ID: <082ceee2-b718-4c4a-8d86-80c582155695@escalon.de>
Your source json-ld is already expanded, so compaction only will be sufficient. Expansion means: removing the @context by applying its term definitions. You can experiment in the json-ld playground [1] There are a number of json ld api implementations, if your language is among them, you probably wouldn't implement the api yourself. [1] http://json-ld.org/playground/ Am 18.12.2015 10:15 schrieb Jindřich Mynarz <mynarzjindrich@gmail.com>: Hi all, Markus, thank you for the solution, and Dietrich, thank you for implying an explanation. However, I wonder if it's not possible to coerce objects as IRIs (http://www.w3.org/TR/json-ld/#h3_type-coercion) *and* compact the property IRI in a single operation of the JSON-LD API. Currently, I understand I need to do the following to coerce objects as IRIs and compact the property IRI. Starting with this JSON-LD: { "@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 need to jam this @context in: { "@context": { "http://xmlns.com/foaf/0.1/knows": { "@type": "@id" } } } Then I can expand (http://www.w3.org/TR/json-ld-api/#expansion) the JSON-LD and compact (http://www.w3.org/TR/json-ld-api/#compaction) the result of expansion with the following @context if compact IRIs are desired: { "@context": { "foaf": "http://xmlns.com/foaf/0.1/" } } Is that a correct approach? - Jindřich -- Jindřich Mynarz http://mynarz.net/#jindrich On Fri, Dec 18, 2015 at 9:24 AM, Adrian Pohl <pohl@hbz-nrw.de> wrote: Sorry for prematurely sending the former mail. Thinking about what I wanted to say, my intended response isn't that relevant to this thread. As I am already writing this, I will just mention it anyway. I just recently stumbled over the ability to define both @type and @container in the context, e.g. { "@context": { "foaf": "http://xmlns.com/foaf/0.1/", "foaf:knows": { "@type": "@id", "@container": "@set" } }, "@id": "http://mynarz.net/#jindrich", "http://xmlns.com/foaf/0.1/knows": [ "http://ruben.verborgh.org/#me", "http://richard.cyganiak.de/foaf.rdf#cygri" ] } Actually, this doesn't make a big difference in this case. It would make sense, though, if you had some foaf:knows triples with only one object and also wanted these to be delivered as an array for the sake of homogeneity... All the best Adrian Am 18.12.2015 um 09:13 schrieb Adrian Pohl: Hello Jindřich, with this context: Am 17.12.2015 um 23:53 schrieb Markus Lanthaler: Hi Jindřich, On Thursday, December 17, 2015 11:04 AM, Jindřich Mynarz wrote: 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"} } } What about this context: "@context": { "http://xmlns.com/foaf/0.1/knows": { "@type": "@id" } } Result: http://tinyurl.com/hadcx4d HTH, Markus -- Markus Lanthaler @markuslanthaler
Received on Friday, 18 December 2015 11:35:36 UTC