- From: Nathan <nathan@webr3.org>
- Date: Tue, 09 Aug 2011 20:21:26 +0100
- To: Gregg Kellogg <gregg@kellogg-assoc.com>
- CC: Linked JSON <public-linked-json@w3.org>
Just for kicks, here's a quick list of my personal requirements for JSON-LD, or something like it - to see how it weighs up against the current requirements: public and private naming, public being URIs with a global/universal scope of the web, private being scoped within the "document" under consideration. Ability to use shortened names relating to fragment identifiers in the syntax, for example "me" in a graph with the IRI <http://webr3.org/nathan#> resulting in <http://webr3.org/nathan#me> as the proper public name for said object. This applies to property names too, in addition to needing an easy syntax for property IRIs, I also need properties that are named privately. all data expressed in k/v JSON objects relating to property-object chains in RDF, optional "subject", where subject can be a public or private name. first class support for: integer, decimal, boolean, string, IRI, date/time-stamps. (and ideally hex-binary and base64-binary, unsure about float). No support for NULL. I'm easy on generic datatyping methods, as I figure this should be more of a requirement to specify using validation rules in ontologies, however I realise it can sometimes be an optimisation to know a datatype upfront and have no ontological knowledge of the data being encountered. also easy on language tag specification for strings (since you often find mixed language text mixing between jp+en for example), however I'm sure many will need it. support for ordered lists, unordered lists, linked lists which span over documents and dataspaces, and finally sets. no RDF imposed constraints (allow non IRI properties, literal subjects etc). All JSON-LD is valid JSON, is not necessarily valid RDF - would be happy to map to / leverage L-Base for semantics. easy way to match one document to one vocabulary. well document expectation that IRIs are meant to be dereferenced. I'll send this, then read the requirements below in a minute and see how they compare. Best, Nathan Gregg Kellogg wrote: > We discussed the requirements [1] on the call today. I made a couple of small changes, but I mainly wanted to get feedback from the list on the specific JSON-LD markup requirements: > > > 1. A JSON-LD document must be able to express a linked data graph. > 2. A JSON-LD document must be a valid JSON document. > 3. All JSON constructs must have semantic meaning in a JSON-LD document: associative arrays, arrays, numbers, strings and other literal names to express semantic information. > 4. A subject is defined using a designated name/value pair of a JSON object. > 5. There must be a way label a JSON object with an IRI. > 6. There may be a way to reference an un-labeled JSON object that does not have a direct child relationship. > 7. JSON name/value should be used to describe property-object relationships. > 8. A property should resolve to an absolute IRI. > 9. An object is represented using JSON objects, arrays, numbers, strings and literal names resolve to nodes in a linked data graph. > 10. Un-coerced JSON strings represent literal objects. > 11. Coerced JSON strings may represent IRIs. > 12. There should be a way to associate a datatype IRI with a literal JSON value. > 13. JSON booleans, numbers and other literal values must represent specific datatyped literals. What does null map to? There may be value in specifically saying that the meaning is undefined. > 14. A JSON array may be used to associate multiple objects with a subject through a common property. > 15. A JSON array must not be used to imply an order to the component entities. > 16. A JSON-LD document should be able to express and ordered list objects. > > > Gregg > > [1] http://json-ld.org/requirements/latest/ >
Received on Tuesday, 9 August 2011 19:22:17 UTC