serialization for coral links
play

Serialization for CoRAL Links a </1> { { p </1/x> - PowerPoint PPT Presentation

CoRE WG Virtual Interim 2019/08/21 Klaus Hartke JSON Serialization for CoRAL Links a </1> { { p </1/x> "a": { q </1/y> "_link": "/1", p </1/z> "p": [ } {


  1. CoRE WG Virtual Interim 2019/08/21 Klaus Hartke JSON Serialization for CoRAL

  2. Links a </1> { { p </1/x> "a": { q </1/y> "_link": "/1", p </1/z> "p": [ } { "_link": "/1/x" }, b </2> { "_link": "/1/z" } b </3> ], c null { "q": { "_link": "/1/y" } d "foo" }, } "b": [ { "_link": "/2" }, { "_link": "/3" } ], "c": { "d": "foo" } } 2

  3. Forms create -> </frob> [ { method "POST" “create" : { accept "application/json" "_form": "/frob", schema <http://example.com/schema.json> { "method": "POST", type "application/schema+json" "accept": "application/json", } "schema": { ] "_link": "http://example.com/schema.json", "type": "application/schema+json" } } } 3

  4. Literals has-published-item true { current-rate 4.53 "has-published-item": true, max-rate 50 "max-rate": 4.53, created dt'2019-08-13T17:00:00+02:00' "max-subscribers": { "_int": 50 }, id "t123" "created": { title "Temperaturwerte" { "_datetime": "2019-08-13T17:00:00+02:00" language "de-DE" }, direction "LTR" "id": "t123", } "title": [ title "Temperature values" { { language "en-US" "_text": "Temperaturwerte", direction "LTR" "language": "de-DE", } "direction": "LTR" key b64'AQIDBAU=' }, { "_text": "Temperature values", "language": "en-US", "direction": "LTR" } ], "key": { "_bytes": "AQIDBAU=" } 4 }

  5. Issues • Type tags • All literals are optionally tagged by their data type as shown left • If the tag is not present, it defaults to the data types shown right CoRAL type JSON tag JSON value Boolean value "_bool" true / false JSON value CoRAL type integer "_int" number true / false Boolean value floating-point number "_float" number number floating-point number date/time value "_datetime" rfc3339 string string text string byte string "_bytes" base64 string text string "_text" string • Order of elements • Grouping elements by relation type makes the JSON serialization more restrictive than the other two serializations • CURIEs 5

  6. CURIEs (1/4) { "http://coreapps.org/collections#create": { "_form": "/items", "http://coreapps.org/http#method": "POST", "http://coreapps.org/http#accept": "application/json", "urn:example:foo:schema": { "_link": "http://example.com/schema.json", "http://coreapps.org/http#type": "application/schema+json" } } } 6

  7. CURIEs (2/4) { "_curie": { "_default": "http://coreapps.org/collections#", "http": "http://coreapps.org/http#", "foo": "urn:example:foo:" } "create": { "_form": "http://example.com/my-collection", "http:method": "POST", "http:accept": "application/json", "foo:schema": { "_link": "http://example.com/schema.json", "http:type": "application/schema+json" } } 7 }

  8. CURIEs (3/4) { "_curie": { "_default": "http://coreapps.org/collections#", "http": "http://coreapps.org/http#", "foo": "urn:example:foo:" } "http://coreapps.org/collections#create": { "_form": "http://coreapps.org/http#//example.com/my-collection", "http://coreapps.org/http#method": "POST", "http://coreapps.org/http#accept": "application/json", "urn:example:foo:schema": { "_link": "http://coreapps.org/http#//example.com/schema.json", "http://coreapps.org/http#type": "application/schema+json" } } 8 }

  9. CURIEs (4/4) { "_curie": { "_default": "http://coreapps.org/collections#", "h": "http://coreapps.org/http#", "f": "urn:example:foo:" } "create": { "_form": "http://example.com/my-collection", "h:method": "POST", "h:accept": "application/json", "f:schema": { "_link": "http://example.com/schema.json", "h:type": "application/schema+json" } } 9 }

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend