Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

From Strings to Things to a Web of Services

Presented at APIdays NZ 2016 in Auckland, New Zealand.

From Strings to Things to a Web of Services

  1. 1. { "id": "apidays", "name": "API Days NZ", "startDate": "2016-10-06T08:00+13", "endDate": "2016-10-07T19:00+13", "location": { "name": "Viaduct Events Centre", "address": "161 Halsey Street, 1010 New Zealand" } } http://example.com/apidays
  2. 2. http://example.com/events/pilod { 69 64: 61 70 69 64 61 79 73, 6E 61 6D 65: 41 50 49 20 44 61 79 73 20 4E 5A, 73 74 61 72 74 44 61 74 65: 30 31 36 2D 31 30 2D 30 36 … 65 6E 64 44 61 74 65: 32 30 31 36 2D 31 30 2D 30 37 54 … 6C 6F 63 61 74 69 6F 6E: { 6E 61 6D 65: 56 69 61 64 75 63 74 20 45 76 65 6E 74 7… 61 64 64 72 65 73 73: 31 36 31 20 48 61 6C 73 65 79 2… } }
  3. 3. Rating: 4.8 - 86 votes - 6 hrs 25 mins - 667 cal
  4. 4. <div class="nutrition clearfix" itemprop="nutrition" itemscope itemtype="http://schema.org/NutritionInformation"> <dl><dt><span>kcalories</span></dt><dd itemprop="calories">667</dd></dl> <dl><dt><span>protein</span></dt><dd itemprop="proteinContent">9g</dd></dl> <dl><dt><span>carbs</span></dt><dd itemprop="carbohydrateContent">49g</dd> ... </div>
  5. 5. → → →
  6. 6. <div class="nutrition clearfix" itemprop="nutrition" itemscope itemtype="http://schema.org/NutritionInformation"> <dl><dt><span>kcalories</span></dt> <dd itemprop="calories">667</dd></dl> <dl><dt><span>protein</span></dt> <dd itemprop="proteinContent">9g</dd></dl> <dl><dt><span>carbs</span></dt> <dd itemprop="carbohydrateContent">49g</dd> ... </div>
  7. 7. <div class="nutrition clearfix" itemprop="nutrition" itemscope itemtype="http://schema.org/NutritionInformation"> <dl><dt><span>kcalories</span></dt> <dd itemprop="calories">667</dd></dl> <dl><dt><span>protein</span></dt> <dd itemprop="proteinContent">9g</dd></dl> <dl><dt><span>carbs</span></dt> <dd itemprop="carbohydrateContent">49g</dd> ... </div>
  8. 8. <div class="nutrition clearfix" itemprop="nutrition" itemscope itemtype="http://schema.org/NutritionInformation"> <dl><dt><span>kcalories</span></dt> <dd itemprop="calories">667</dd></dl> <dl><dt><span>protein</span></dt> <dd itemprop="proteinContent">9g</dd></dl> <dl><dt><span>carbs</span></dt> <dd itemprop="carbohydrateContent">49g</dd> ... </div> { "@context": { "calories": "http://schema.org/calories", ... } { "@context": "http://schema.org/", "@type": "NutritionInformation", "calories": "667", "proteinContent": "9g", "carbohydrateContent": "49g", ... } { "@context": { "@vocab": "http://schema.org/" } }
  9. 9. <script type="application/ld+json"> ... </script>
  10. 10. <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "MusicEvent", "name": "Preachers Son @ The Worksmans Club in Dublin…", "startDate": "2014-11-06T20:00:00", "location": { "@type": "Place", "name": "The Worksmans Club", "geo": { "@type": "GeoCoordinates", "latitude": 53.3848495, "longitude": -6.2614498 } }, "offers": ... ... } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "MusicEvent", "name": "Preachers Son @ The Worksmans Club in Dublin…", "startDate": "2014-11-06T20:00:00", "location": { "@type": "Place", "name": "The Worksmans Club", "geo": { "@type": "GeoCoordinates", "latitude": 53.3848495, "longitude": -6.2614498 } }, "offers": ... ... } </script>
  11. 11. ----------------------------------------------------------------------------------- | s | p | o | =================================================================================== | _:b0 | rdf:type | so:Event | | _:b0 | so:name | "API Days NZ" | | _:b0 | so:description | "TThe API Days NZ Conference is organised by HYPR…" | | _:b0 | so:startDate | "2016-10-6T08:00"^^so:Date | | _:b0 | so:endDate | "2016-10-7T19:00"^^so:Date | | _:b0 | so:url | <https://apidays.nz> | | _:b0 | so:image | <https://apidays.nz/images/logo.png> | | _:b0 | so:location | _:b1 | | _:b1 | rdf:type | so:Place | | _:b1 | so:name | "Viaduct Events Centre" | | _:b1 | so:url | <http://www.aucklandconventions.co.nz/venues/page…> | | _:b1 | so:hasMap | <https://www.google.co.nz/maps/place/ANZ+Viaduct+…> | | _:b0 | so:offers | _:b2 | | _:b2 | rdf:type | so:Offer | | _:b2 | so:url | <https://apidays2016.lilregie.com> | | _:b2 | so:validFrom | "2016-06-01T00:01"^^so:DateTime | | _:b2 | so:validThrough | "2016-08-31T23:59"^^so:DateTime | | _:b2 | so:price | "250.00" | | _:b2 | so:priceCurrency | "NZD" | | _:b0 | so:offers | _:b3 |
  12. 12. ----------------------------------------------------------------------------------- | s | p | o | =================================================================================== | _:b0 | rdf:type | so:Event | | _:b0 | so:name | "API Days NZ" | | _:b0 | so:description | "TThe API Days NZ Conference is organised by HYPR…" | | _:b0 | so:startDate | "2016-10-6T08:00"^^so:Date | | _:b0 | so:endDate | "2016-10-7T19:00"^^so:Date | | _:b0 | so:url | <https://apidays.nz> | | _:b0 | so:image | <https://apidays.nz/images/logo.png> | | _:b0 | so:location | _:b1 | | _:b1 | rdf:type | so:Place | | _:b1 | so:name | "Viaduct Events Centre" | | _:b1 | so:url | <http://www.aucklandconventions.co.nz/venues/page…> | | _:b1 | so:hasMap | <https://www.google.co.nz/maps/place/ANZ+Viaduct+…> | | _:b0 | so:offers | _:b2 | | _:b2 | rdf:type | so:Offer | | _:b2 | so:url | <https://apidays2016.lilregie.com> | | _:b2 | so:validFrom | "2016-06-01T00:01"^^so:DateTime | | _:b2 | so:validThrough | "2016-08-31T23:59"^^so:DateTime | | _:b2 | so:price | "250.00" | | _:b2 | so:priceCurrency | "NZD" | | _:b0 | so:offers | _:b3 |
  13. 13. { "@id": "/things/246676c3-c760-4251-8e5d-9de1151604eb#id", "@type": [ "rdfs:Resource", "ManagedThing", "tag:TagConcept", "http://purl.org/ontology/mo/MusicGroup", "Thing", "tagging:TagConcept", "owl:Thing" ], "disambiguationHint": "Irish rock band", "label": "U2", "preferredLabel": "U2", "primaryTopicOf": [ "http://en.wikipedia.org/wiki/U2", "/music/artists/a3cb23fc-acd3-4ce0-8f36-1e5aa6a18432" ], "sameAs": [ "http://musicbrainz.org/artist/a3cb23fc-acd3-4ce0-8f36…", "http://www.wikidata.org/entity/Q396" ] ...
  14. 14. <script type="application/ld+json"> ... </script>
  15. 15. http://example.com/events/ { "@context": "/context.jsonld", "@id": "/events/", "@type": "Collection", "member": [ ... ], ... "operation": { "@type": "http://schema.org/AddAction", } }
  16. 16. { "@id": "Event", "@type": "Class", "supportedProperty": { "property": "name", "required": true } } http://example.com/events/ { "@context": "/context.jsonld", "@id": "/events/", "@type": "Collection", "member": [ ... ], ... "operation": { "@type": "AddAction", "method": "POST", "expects": "Event" } }

×