- From: Jindřich Mynarz <mynarzjindrich@gmail.com>
- Date: Fri, 18 Dec 2015 10:13:28 +0100
- To: public-linked-json@w3.org
- Message-ID: <CAE=8Bu8-eBVP-SA9RRzfXeCoQQb5iCxtpxSGJxXRimDJm4tEcw@mail.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 09:14:19 UTC