- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Wed, 1 May 2013 14:26:33 +0200
- To: "'Rob Hoare'" <public-linked-json@robhoare.com>, <public-linked-json@w3.org>
On Wednesday, May 01, 2013 6:37 AM, Rob Hoare wrote: > On Sun, Apr 28, 2013, at 01:41 AM, Markus Lanthaler wrote: > > > Please keep in mind however that type coercion just assigns > > datatypes, it does not do any type conversions or transformations at > all. > > That's the bit I wasn't really understanding. I read "coercion" as > meaning "forcing" (as that's what the word means). In reality it seems > to be a "Type Hint" instead, which is useful, but different. Think of is as an unchecked type cast (a reinterpret_cast in C++). > > Type coercion doesn't validate the values. It assumes > > you know what you are doing. > > Or, to put it another way, it assumes you are originating the data. > Not > really useful for data from an external source until it has been > validated unfortunately. You have to validate external data anyway. > > So you just walk over your JSON tree and whenever you find an object > having > > both an @value and @type member, you would look in your > datatype/service > > map and run the transformation. > > > > It might also make sense to have a look at Antonio's JSON-LD macros: > > https://github.com/antoniogarrote/json-ld-macros > > > > AFAICT they are not intended for the transformations that you need > but > > might provide some code that you could reuse > > That is actually very close to what I'm trying to do. The way it uses > another json document to specify the "transformation" is interesting. > After a first read of the documentation I may simply need to add > another > function (or set of functions) using the @declare. The rest of what it > does is very useful as well (for renaming keys, adding namespaces, > etc). > I'll try out some ideas using it later this week. > > Thanks Markus (and Antonio), you've been very helpful and its become > clearer to me what is possible. I'll let you know if/when I have a > working example online. Great! Thanks Cheers, Markus -- Markus Lanthaler @markuslanthaler
Received on Wednesday, 1 May 2013 12:27:04 UTC