[
https://issues.apache.org/jira/browse/STANBOL-300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rupert Westenthaler resolved STANBOL-300.
-----------------------------------------
Resolution: Fixed
implemented with revision 1151013
> Improvements to the JSON serialization of Entityhub Representations
> -------------------------------------------------------------------
>
> Key: STANBOL-300
> URL: https://issues.apache.org/jira/browse/STANBOL-300
> Project: Stanbol
> Issue Type: Improvement
> Components: Entity Hub
> Reporter: Rupert Westenthaler
> Assignee: Rupert Westenthaler
> Priority: Minor
>
> 1. Dates:
> Internally java.util.Date is used and the JSON serialization uses the
> toString() method to generate the String representation. This needs to be
> changed to produce valid ISO8601 in UTC
> 2. use JSON data types:
> Currently all values are parsed as Strings. Therefore even for numbers String
> values are used in JSON (e.g. for float values "value": "0.53789765"). Native
> JSON types should be used where possible.
> 3. Entityhub value types and "xsd:datatype":
> All values of Representations do have a "type" property in the JSON
> serialization. This is used to encode the type of the value as internally
> used by the Entityhub. The Entityhub distinguishes between Text (natural
> language), Reference (links to other resources) and Value (all other types).
> For parsing values this is not sufficient because clients can not determine
> the exact datatype of the values. Therefore the JSON serialization needs to
> be extended to provide the xsd:datatype of values. The current "type" values
> are kept for now for compatibility reasons but there usage is deprecated
> a. natural language texts and xsd:string values:
> Internally the entityhub distinguished between string values and natural
> language text. This is also possible for RDF serializations. In case of
> natural language texts there is no "xsd:datatype" and an optional xml:lang
> present. For string values the "xsd:datatype" is set to xsd:string". Even RDF
> frameworks do not allow to set both an xsd:datatype and xml:language on RDF
> literals.
> Therefore the the JSON serialization of the entityhub should use the same.
> Example for natural language texts: Natural languages may have a "xml:lang"
> but MUST NOT have a "xsd:datatype" value.
> "http:\/\/www.w3.org\/2000\/01\/rdf-schema#label": [{
> "type": "text",
> "xml:lang": "en",
> "value": "Natural language value"
> }]
> Example for a string value: The notation "Ag" for Silver in the periodic
> table is clearly a String value and not natural language text.
> "http:\/\/www.w3.org\/2004\/02\/skos\/core#notation": [{
> "type": "value",
> "xsd:datatype": "xsd:string",
> "value": "Ag"
> }]
> b. References and "xsd:anyUri". The Entityhub allows both the usage of
> "entityhub:reference" and "xsd:anyUri" for references. Internally both are
> handled as by the Reference interface. Because of this the JSON serialization
> should use "xsd:anyUri" as "xsd:datatype"
> "http:\/\/www.w3.org\/1999\/02\/22-rdf-syntax-ns#type": [{
> "type": "reference",
> "xsd:datatype": "xsd:anyUri",
> "value": "http:\/\/www.w3.org\/2002\/07\/owl#Thing"
> }]
> c. Other supported types: The entityhub supports several (but not all)
> xsd:datatypes. See the definitions in the
> org.apache.stanbol.entityhub.servicesapi.defaults.NamespaceEnum for details.
> All such values will have "type": "value" and "xsd:datatype":
> "{xsd-datatype}" as properties.
> "http:\/\/www.iks-project.eu\/ontology\/rick\/query\/score": [{
> "type": "value",
> "xsd:datatype": "xsd:float",
> "value": "0.53789765"
> }]
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira