@structure

In issue #40 [1] and on the recent telecon call progress was made
towards a syntax such as:

"""
    "foo": {"@iri": "http://uri.foo", "@datatype": "xsd:date", "@list": true}
or
    "foo": {"@iri": "http://uri.foo", "@datatype": "@iri", "@list": true}
"""

In IRC I commented that the '"@list":true' style seems non-optimal.
To go along with @datatype I suggested '"@parsetype":"list"' or
'"@parsetype":"@list"'.  Dave Longley suggested the "@structure"
keyword instead.  That name seems a better choice.  This syntax allows
more flexibility to support types like "@set" or similar without
another '"@{type}":true' construct.  Now in issue #44 [2] we can see a
use case of this in @contexts for framing.  I'm thinking this is the
right direction to head.  This would make the above something like:

"""
    "foo": {"@iri": "http://uri.foo", "@datatype": "@iri",
"@structure": "@list"}
"""

Questions:
What @structure types might be needed other than @list and @set?
Could there be use cases for needing multiple @structure types at once?
How much does this complicate processing?
Would it be better to use arbitrary IRI types instead of "@list"
style?  Ie, '"@structure":"jsonld:list"' or something? Maybe @list and
@set would be aliases for IRIs.

[1] https://github.com/json-ld/json-ld.org/issues/40
[2] https://github.com/json-ld/json-ld.org/issues/44

-dave

Received on Thursday, 1 December 2011 22:40:25 UTC