- 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