RE: @structure

> I have also thought along the lines of Markus, of instead having a
> microsyntax like "@datatype": "@list[@iri]" (or perhaps "@list:@iri"
> or even just "@list @iri"). But at the end of the day I think a new
> key (e.g. @structure or @container) really is the simpler mechanism,
> since having to parse microsyntax is putting more burden on consumers
> than using a ready JSON structure with a new key. I agree that
> keywords shouldn't abound, but neither should we strain ourselves from
> avoiding them where the purpose and needs are clear and distinct. Or
> else I'd prefer {"@list":"@iri"} over "@list[@iri]", since it's only 3
> chars more and using JSON instead of a microsyntax.
> 
> -1 For microsyntaxes in JSON-LD. We rejected microsyntaxes before and I 
> think it was the right decision.

Well, actually @iri, @list, and @set are microsyntaxes as well IMHO. So it's
really a question of whether we see a list of IRIs (@list[@iri]) as another
datatype or not. I do.. and I think a lot of users of JSON-LD would say the
same.
Having to associate a "structure" to a datatype is not something you would,
as a developer, normally have to do.

Another issue I could see arise is that it could be difficult to understand
where/if the @structure/@container was set if multiple contexts are merged.
So to make sure you would always end up with the same "data type" even when
an outer context changes you would have to add something like "@container":
"@none" as well.


--
Markus Lanthaler
@markuslanthaler

Received on Monday, 5 December 2011 03:03:05 UTC