- From: Gregg Kellogg <gregg@kellogg-assoc.com>
- Date: Sat, 21 Jan 2012 03:27:11 -0500
- To: Dave Longley <dlongley@digitalbazaar.com>
- CC: "public-linked-json@w3.org" <public-linked-json@w3.org>
Well, if a compact call is made with a context having an @language, a plain literal will still need to be generated using @literal, IMO.
Gregg
On Jan 21, 2012, at 7:01 AM, Dave Longley wrote:
> Ok, well it sounds like we should make this valid syntax, but if an API
> call is made on a document (eg: compact or expand), then a plain literal
> is always converted to a string. Does everything think this is the best
> solution?
>
> On 01/20/2012 06:32 AM, Gregg Kellogg wrote:
>> Sorry, not fully engaged here, and my mind is definitely mid-pacific. If {"@literal": "foo"} is banned, then how does one express a plain literal when the context has a default @language? Is it not possible to express a plain literal when the context has @language? I always presumed that this is how it would be done.
>>
>> Gregg
>>
>> On Jan 19, 2012, at 5:16 AM, Manu Sporny wrote:
>>
>>> On 01/18/12 15:05, Manu Sporny wrote:
>>>> On 01/18/12 12:10, Alexandre Passant wrote:
>>>>> It seems that @value is not rendered properly, e.g.
>>>> Fixed:
>>>>
>>>> https://github.com/json-ld/json-ld.org/commit/8b930458dac3e69ddef5bba6b716a6cd76dcaa9e
>>> After some discussion with Dave Longley, both of us feel that we should
>>> kill this feature. It overly complicates the number of ways that you can
>>> express a plain literal.
>>>
>>> There is an argument that this should be valid: { "@value": "foo" }
>>>
>>> However, it does two things:
>>>
>>> 1. It complicates what developers have to deal with, now you can't just
>>> check to see if the value is a string for a plain literal... you have to
>>> check if it is a string, and if it isn't, you have to check to see if it
>>> is an object containing an "@value" key and only that key.
>>>
>>> 2. It complicates the expansion algorithm, instead of { "name": "foo" },
>>> expanded form ends up being {"name": { "@value": "foo"}}
>>>
>>> 3. The two items above thus complicate implementations.
>>>
>>> While it's perfectly logical to interpret { "@value": "foo" } as a plain
>>> literal, I don't think we should because it doesn't buy us anything
>>> other than more complexity. We should keep it simple... plain literals
>>> are expressed as strings in JSON-LD - always.
>>>
>>> -- manu
>>>
>>> --
>>> Manu Sporny (skype: msporny, twitter: manusporny)
>>> President/CEO - Digital Bazaar, Inc.
>>> blog: Web Payments - PaySwarm vs. OpenTransact Shootout
>>> http://manu.sporny.org/2011/web-payments-comparison/
>>>
>>
>
>
> --
> Dave Longley
> CTO
> Digital Bazaar, Inc.
>
>
Received on Saturday, 21 January 2012 08:28:21 UTC