iptc news in json and sports in json
DESCRIPTION
IPTC has crafted ninjs, a standard for representing news in json. Version 1.1 of the standard is available now. You'll find examples, code and the schema at http://dev.iptc.org/ninjs and more at https://github.com/iptc/newsinjson IPTC is now looking at representing sports data in JSONTRANSCRIPT
News in JSON
Stuart Myles * Associated Press * 16th June 2014
http://www.flickr.com/photos/26226551@N00/10753739865/
Remind Me: What is JSON?JSON = JavaScript Object Notation http://json.org/
Name / value pairs: a fieldname in quotes, a colon, a value in quotes
"givenname" : "Evan"
Objects: written inside curly braces, may contain multiple NVPs
{"givenname" : "Evan", "familyname" : "Sandhaus"}
Arrays: Written inside square braces, may contain multiple objects{"iptcdelegates": [ { "givenname": "Jayson", "familyname": “Lorenzen"}, { "givenname": "Jeremy", "familyname": "Brooks"}, { "givenname": "Evan", "familyname": "Sandhaus" }]}
© 2014 IPTC (www.iptc.org) All rights reserved 2
Remind Me: Why News in JSON?
Lightweight, easy to parse format
Increasingly popular alternative to / replacement for XML
Two principle use cases:
data interchange (e.g. APIs) with an emphasis on partial representation
data at rest (e.g. search engines like Elastic Search or MongoDB)
Not simply translating from any existing XML standard into JSON
Determine how to represent key properties and structures
Hand crafted, rather than mechanically translating from XML into JSON
Goal: comprehensive standard, lightweight instance documents
© 2014 IPTC (www.iptc.org) All rights reserved 3
ninjs Overview
© 2014 IPTC (www.iptc.org) All rights reserved 4
http://groups.yahoo.com/neo/groups/iptc-news-in-json-dev
ninjs Data Model
© 2014 IPTC (www.iptc.org) All rights reserved 5
http://dev.iptc.org/ninjs
ninjs 1.1
• ninjs is a JSON representation of a news item– Text, Photo, Graphic, Video, Audio, Package
• You can represent a complete item, with all properties– For instance in an internal CMS like MongoDB
• Or you may want to convey key properties– For instance as an API response
• The representationtype property indicates how complete– Either “full” or “partial”
• Associations are themselves ninjs documents– You may include complete or partial representations
© 2014 IPTC (www.iptc.org) All rights reserved 6
A Complete NINJS 1.1 Article
{ "uri" : "http://ninjs.example.com/newsitems/20130709simp123", "type" : "text", "versioncreated" : "2013-07-09T10:37:00Z", "byline" : "Paulo Santalucia and Frances d'Emilio", "headline" : "Captain of wrecked cruise ship on trial in Italy", "body_text" : "GROSSETO, Italy (EP) -- The trial of the captain of the shipwrecked Costa Concordia cruise liner has begun in a theater converted into a courtroom …"}
© 2014 IPTC (www.iptc.org) All rights reserved 7
ninjs Resources
• The ninjs development website is a trove of information http://dev.iptc.org/ninjs
• ninjs JSON schema http://www.iptc.org/std/ninjs/ninjs-schema_1.1.json• Uses JSON schema draft standard http://json-schema.org/
– Validation http://dev.iptc.org/ninjs-Validation-of-ninjs-Objects
• ninjs examples– Text http://dev.iptc.org/ninjs-Examples-1– Photo http://dev.iptc.org/ninjs-Examples-2– Multimedia http://dev.iptc.org/ninjs-Examples-3
• Best practices and how tos http://dev.iptc.org/ninjs-Best-Practices-and-How-Tos
• ninjs github https://github.com/iptc/newsinjson• ninjs feedback forum http://dev.iptc.org/Forum-5
and mail list [email protected]
© 2014 IPTC (www.iptc.org) All rights reserved 8
Sports in JSON
• Develop a standard JSON representation of sports data• Working with the SportsML group• Decided to manage the work in News in JSON list
• Joint working phone calls
• Initial progress– Established design principles, based on ninjs experience– Drafted an initial set of 30 to 40 properties– Represent a sports event within a competition
© 2014 IPTC (www.iptc.org) All rights reserved 9
Sports in JSON Experiments
• Early experiment to represent a sports event in JSON
• Using "flattened" team and player structures– https://gist.github.com/stuartmyles/ba2250e3b1703045f7ac
• Using players "inside" teams– https://gist.github.com/stuartmyles/b47771cd614b675bd8e0
© 2014 IPTC (www.iptc.org) All rights reserved 10
© 2010 IPTC (www.iptc.org) All rights reserved
11
© 2014 IPTC (www.iptc.org) All rights reserved
12
Sports in JSON Experiments
• Our preliminary conclusion is that players “inside” teams is best
• But the key is that it is important to construct alternatives and evaluate them using experimental code
• Update on progress in Frankfurt• Participate via [email protected]
© 2014 IPTC (www.iptc.org) All rights reserved 13
Date and Place of Next Meeting
Frankfurt, Germany October, 2014
https://www.flickr.com/photos/75487768@N04/12188256115
感谢和再见!© 2014 IPTC (www.iptc.org) All rights reserved 14