- From: Dave Longley <dlongley@digitalbazaar.com>
- Date: Wed, 11 Jan 2012 08:42:54 -0500
- To: public-linked-json@w3.org
On 01/10/2012 06:32 AM, Markus Lanthaler wrote:
> Sorry, my bad, I was setting @iri instead of doing aliasing @id but that
> brought me to an interesting question: If we alias keywords, should the
> alias be used for compaction and expansion be used or not? So in this case,
> if I alias @id to @iri should the output contain @id or @iri?
I think the alias should be used for compaction, but not expansion
(where the context is eliminated). So compacted output should use @iri
and expansion would still use @id.
> Also, if I alias @id expansion produces some strange outputs in the
> playground when @id is used in the JSON-LD document (it nests an @id within
> @id, http://bit.ly/zKljJE):
>
> {
> "@id": {
> "@id": "#me"
> },
> "http://xmlns.com/foaf/0.1/knows": [{
> "@id": {
> "@id": "http://example/bob#me"
> },
> "http://xmlns.com/foaf/0.1/name": "Bob",
> "http://xmlns.com/foaf/0.1/homepage": {
> "@id": "http://example.com/bob"
> }
> }, {
> "@id": "http://www.markus-lanthaler.com/#me",
> "http://xmlns.com/foaf/0.1/name": "Markus",
> "http://xmlns.com/foaf/0.1/homepage": {
> "@id": "http://www.markus-lanthaler.com/"
> }
> }]
> }
>
>
> "@id": "http://www.markus-lanthaler.com/#me" is correct as I used @iri in
> the input document.
That certainly looks like a bug to me. Aliasing any keyword in a context
shouldn't change what the expanded output looks like since expansion
strips the context away. I'll look into fixing it when I get a chance.
>
>> -----Original Message-----
>> From: Markus Lanthaler [mailto:markus.lanthaler@gmx.net]
>> Sent: Tuesday, January 10, 2012 7:19 PM
>> To: public-linked-json@w3.org
>> Subject: Aliasing @id creates results in typed literals for IRIs
>>
>> Hi,
>>
>> I not sure if this is an issue or a desired behavior - at least it's
>> not
>> wrong. When I alias @id to, e.g. @iri in the JSON-LD playground @id
>> gets
>> replaced with @iri as expected when used to define the subject, but it
>> yields to a typed literal for objects. See example below
>> (http://bit.ly/x1Qmfy):
>>
>> {
>> "@iri": "#me",
>> "http://xmlns.com/foaf/0.1/knows": [{
>> "@iri": "http://example/bob#me",
>> "http://xmlns.com/foaf/0.1/name": "Bob",
>> "http://xmlns.com/foaf/0.1/homepage": {
>> "@type": "@iri",
>> "@literal": "http://example.com/bob"
>> }
>> }, {
>> "@iri": "http://www.markus-lanthaler.com/#me",
>> "http://xmlns.com/foaf/0.1/name": "Markus",
>> "http://xmlns.com/foaf/0.1/homepage": {
>> "@type": "@iri",
>> "@literal": "http://www.markus-lanthaler.com/"
>> }
>> }]
>> }
>>
>>
>> --
>> Markus Lanthaler
>> @markuslanthaler
--
Dave Longley
CTO
Digital Bazaar, Inc.
Received on Wednesday, 11 January 2012 13:43:26 UTC