asterixdb-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Carey <dtab...@gmail.com>
Subject Re: Parse GeoJSON data into a record in AsterixDB
Date Wed, 21 Jun 2017 13:33:42 GMT
One approach would be to be silent about properties - and then it could 
be there anyway - however, that wouldn't allow you to state the 
requirement (?) that it must be called properties and/or that it must be 
an object (not a scalar).  That could work for now, perhaps?  We need to 
have an "any record type" type name - we've noted a desire for that - 
unfortunately we don't have one I don't think.  I believe the concept is 
there inside the code, in the type-related areas, but we don't have a 
keyword like name for it.  (@Yingyi - comments?)  And we do also have a 
restriction (at the type level) that precludes recursion (regular or 
mutual) in type definitions; we probably need to do something about that 
someday as well.

In the meantime, these things could be handled (weakly) by documenting 
what's expected/allowed in this setting.

Cheers,

Mike

PS - I wonder if JSON Schema has the expressiveness for this?


On 6/21/17 2:26 AM, Riyafa Abdul Hameed wrote:
> Hi,
>
> I would like to parse the following or any GeoJSON type[1] to a record 
> in AsterixDB:
> {
>    "type":"Feature",
>    "geometry":{
>       "type":"Point",
>       "coordinates":[
>          -118.40,
>          33.93
>       ]
>    },
>    "properties":{
>       "code":"LAX",
>       "elevation":38
>    }
> }
>
> The value of properties is optional and is a variable that is it can 
> be any type of object. What is the most suitable datatype to use to 
> represent properties in this case?
> Is something like the following possible?
>
> CREATE TYPE GeometryType AS {
>      type: string,
>      geometry: GeometryType,
>      properties: object
> };
>
> I came up with the above because there's a derived type called 
> objects[2] in AsterixDB. The above doesn't work because of the 
> following reasons:
>
>   * type appears to be keyword
>   * We can't use the defining type within the same type recursively
>     (ie. GeometryType within GeometryType)
>   * The type object cannot be resolved
>
> Any suggestions on how a GeoJSON can be parsed into AsterixDB?
>
> [1] https://tools.ietf.org/html/rfc7946
> [2] 
> https://ci.apache.org/projects/asterixdb/datamodel.html#DerivedTypesObject
>
> Thank you
> Yours sincerely,
> Riyafa
>


Mime
View raw message