1 of 50

JSON-LD And You: �A Guide to Structured Metadata for Journalism

#KleinCamp18

Aram Zucker-Scharff - @Chronotope

2 of 50

JSON-LD ��So What?

3 of 50

The Semantic Web

4 of 50

“The Semantic Web will bring structure to the meaningful content of Web pages, creating an environment where software agents roaming from page to page can readily carry out sophisticated tasks for users.”

  • Tim Berners-Lee, James Hendler and Ora Lassila�Scientific American, May 2001

5 of 50

Previously:

6 of 50

The hCard

hCard is a simple, open format for publishing people, companies, organizations on the web”

http://microformats.org/wiki/hcard

7 of 50

Link Markup

rel= follow | nofollow | ...���

title=”where we’re going”

  • Relationship between the page and the linked page. �
  • The mouse-over and screen reader text.

8 of 50

RDF and Triples

9 of 50

RDF and Triples

Subject:Predicate:Object

10 of 50

Open Graph - More Social Heds and Descriptions

11 of 50

Open Graph - Categorization of Content

12 of 50

Defining Webpages as Objects

Music

  • music:song
  • music:album
  • music:playlist
  • music:duration “263”

Video

  • video:movie
  • video:episode
  • video:actor
  • video:actor:role

Article

  • article:published_time
  • article:author
  • article:tag
  • article:section

Profile

  • profile:first_name
  • profile:last_name
  • profile:username

And more… http://ogp.me

13 of 50

Explore Open Graph in Action�

http://aramzs.me/ogd

14 of 50

Building One to One for Social

15 of 50

16 of 50

17 of 50

From: https://www.recode.net/2018/2/12/16998750/facebooks-teen-users-decline-instagram-snap-emarketer

18 of 50

Metadata but structured for us

19 of 50

Schema.org

Schema: a representation of a plan or theory in the form of an outline or model.

20 of 50

Who are we building for?

21 of 50

22 of 50

23 of 50

24 of 50

DAI

25 of 50

JSON-LD��JavaScript Object Notation for Linked Data

26 of 50

27 of 50

“It is a way to create a network of standards-based, machine-readable data across Web sites. It allows an application to start at one piece of Linked Data, and follow embedded links to other pieces of Linked Data that are hosted on different sites across the Web.”

  • https://json-ld.org/

28 of 50

29 of 50

https://schema.org/CreativeWork

30 of 50

Schema.org organizes pages as objects

@type - tells us what the object is. Could be Article, BlogPost, ReportageNewsArticle

headline - like title

description - same as in SEO

image - optional and can contain more than one image

datePublished/dateModified - for helping to determine relevance

31 of 50

Schema.org has editorially significant data

Linked objects:

  • publisher - publishing organization�
  • author - byline�
  • editor - people who edited the work�
  • isPartOf - indicates series

32 of 50

https://pending.schema.org/NewsMediaOrganization

33 of 50

Schema.org makes editorial policies transparent

"@type":"NewsMediaOrganization"

  • ethicsPolicy
  • masthead
  • missionCoveragePrioritiesPolicy
  • diversityPolicy
  • verificationFactCheckingPolicy
  • unnamedSourcesPolicy
  • actionableFeedbackPolicy
  • ownershipFundingGrants
  • diversityStaffingReport�

34 of 50

https://schema.org/Person

35 of 50

Schema.org has data useful for describing credibility

Linked objects:

  • affiliation�
  • knowsAbout�
  • knowsLanguage�
  • worksFor�
  • sameAs - linking to author pages of publications

36 of 50

Schema.org can create an ownership connection for authors

37 of 50

From: https://theoutline.com/post/2780/new-york-times-copy-editor-layoffs-aftermath?zd=1&zi=bun4yw7b

38 of 50

Consider our content’s value as journalism

39 of 50

So what goes into JSON-LD?

40 of 50

<script type="application/ld+json"> {

} </script>

41 of 50

<script type="application/ld+json"> {

"@context": "http://schema.org",

} </script>

42 of 50

<script type="application/ld+json"> {

"@context": "http://schema.org",

“@type”: “ReportageNewsArticle”

} </script>

43 of 50

<script type="application/ld+json"> {

"hasPart": {...},

“isPartOf”: {...}

} </script>

44 of 50

Objects inside Objects

45 of 50

"author": {

"@type": "Person",

}

46 of 50

"author": {

"@type": "Person",

"name": "Aram Zucker-Scharff"

}

47 of 50

"author": {

"@type": "Person",

"name": "Aram Zucker-Scharff""sameAs": "http://aramzs.github.io/aramzs/",

}

48 of 50

"author": {

"@type": "Person","sameAs": "http://aramzs.github.io/aramzs/",

"image": {� "@type": "ImageObject",� "url": "https://pbs.twimg.com/img.jpeg"� }

}

49 of 50

Let’s build a Schema.org object!��http://aramzs.me/iddemo�

http://aramzs.me/schemags��https://json-ld.org/playground/

50 of 50

This presentation:��http://aramzs.me/jldu��Ask me questions: @Chronotope