- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Thu, 10 Mar 2011 08:34:41 +0000
- To: Manu Sporny <msporny@digitalbazaar.com>
- CC: RDF WG <public-rdf-wg@w3.org>
On 10/03/11 01:35, Manu Sporny wrote: ... > Now imagine that we could pass arguments to the parser, things like: > > EXPAND_IRI > Expands all Terms/CURIEs into full IRIs > REMOVE_MICROSYNTAX_MARKUP > Removes any Microsyntax markup so that values can be used more > directly > COMPACT_IRI > Directs the parser to use a mapping we provide to shorten IRIs > > Now assume this input (jsonldText): > > { > "#": > { > "name": "http://xmlns.com/0.1/foaf/name", > "foo": "http://example.com/vocab#foo" > "ex": "http://example.com/v#" > }, > "name": "nathan", > "foo": "bar^^<ex:baz>" > } > > If we wanted to make sure the IRIs were always expanded, we could do this: > > var obj = RDFinJSON.parse(jsonldText, EXPAND_IRI); > > which would give us this: > > { > "<http://xmlns.com/0.1/foaf/name>": "nathan", > "<http://example.com/vocab#foo>": "bar^^<http://example.com/v#baz>" > } > > If we wanted to ensure that there is no nasty microsyntax markup, we > could do this: > > var obj = RDFinJSON.parse(jsonldText, REMOVE_MICROSYNTAX_MARKUP); > > which would give us this: > { > "name": "nathan", > "foo": "bar" > } > > If we wanted to make sure there was no nasty microsyntax markup and that > all IRIs were expanded, we could do this (and perhaps this would be the > default result of the .parse() method): > > var obj = RDFinJSON.parse(jsonldText, EXPAND_IRI | > REMOVE_MICROSYNTAX_MARKUP); > > which would give us this: > { > "http://xmlns.com/0.1/foaf/name": "nathan", > "http://example.com/vocab#foo": "bar" > } > > If we wanted to remap "name" and "foo" to "fn" and "fo" respectively, we > could provide a developer-specified mapping: > > var mappings = > { > "foaf": "http://xmlns.com/0.1/foaf/", > "fo": "http://example.com/vocab#foo" > }; > var obj = RDFinJSON.parse(jsonldText, COMPACT_IRI | > REMOVE_MICROSYNTAX_MARKUP, > mappings); > > would give us this: > { > "foaf:name": "nathan", > "fo": "bar" > } For my understanding: Does this mean we would defining both an on-the-wire form ("jsonldText") and the data structure ("obj")? Presumable related but "obj" is simpler? What would a graph look like? Andy
Received on Thursday, 10 March 2011 08:35:18 UTC