On 17.10.2012 13:20, Andreas Schultz wrote:
> Wouldn't a representation like the following be more
> appropriate?
> 
>  "value": {
>     "latitude" : 32.233,
>     "longitude" : -2.233,
>  }
> 
> That is, if "snaktype": "value", then there has to be a "value" key
> with a data type specific value object.

I agree - it should either be "value", or the same as the top-level property, 
as in:

"location": {
  "location": {
     "latitude" : 32.233,
     "longitude" : -2.233,
  }

  "as-of": {
    ...
  }
}

> Something that imho would also be useful, is a way to specify the data
> type - this could be optional. For the Geo example something like the
> following would make sense:
> 
>  "datatype": "geo"
> 
> Without such a definition, a consumer would have to derive the data
> type from the keys and/or the lexical representation of the values,
> which would usually be a tough task.

I agree that at least for the external representation, every value should always
be accompanied by its data type. It's just a pain having to look up the data
type, or maintain a mapping locally.

The question is how to represent this structurally.

"location": {
    "value": {
      "value": {
          "latitude" : 32.233,
          "longitude" : -2.233,
      },
      "type": "geo"
    }
}

or, resp:

"location": {
    "location": {
      "value": {
          "latitude" : 32.233,
          "longitude" : -2.233,
      },
      "type": "geo"
    }
}

The latter makes more sense to me. But it's a lot of overhead. Alternatively:

"location": {
      "value": {
          "_type": "geo"
          "latitude" : 32.233,
          "longitude" : -2.233,
      },
}

Using "magic" keys (prefixed with "_" or whatever) is kind of nasty, but saves
quite a bit of structural complexity.


-- daniel

-- 
Daniel Kinzler, Softwarearchitekt
Wikimedia Deutschland - Gesellschaft zur Förderung Freien Wissens e. V.


_______________________________________________
Wikidata-l mailing list
Wikidata-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-l

Reply via email to