Review Publishing for Everyone

Created on 2015-01-22 18:55

Published on 2015-01-22 18:55

Situation Analysis

In line with my theme about profile data publishing that benefits both You and Google [1]. Here's how the very same rules apply to Movie Reviews.

Google has just published guidelines [2] for describing Movie Reviews that are comprehensible to their crawlers and related services. As will always be the case, here's an extension of their guidelines that cover reviews represented using JSON-LD structured data islands embedded in HTML documents using <script/> (preferred by Google) and TURTLE (which can also be embedded in HTML using <script/> or published to a text document using Dropbox, Amazon S3, and others) [3][4].

Note: The "#webid" tacked on to the end of some of the URLs is a simple trick (zero costs!) for turning each URL (which identifies a Web Page) into an unambiguous name (or identifier) that identifies agents (People, Organizations, and Bots [Machines & Software])! [5][6].

JSON-LD embedded in HTML

Pro: Easily deployable by Javascript Programmers (generically referred to as "Web Developers" these days).
Con: HTML specific pattern.

Example:

<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "Review",
"author" : {
"@type" : "Person",
"name" : "Lisa Kennedy",
"sameAs" : "https://plus.google.com/114108465800532712602#webid"
},
"datePublished" : "2014-03-13T20:00",
"description" : "Nerve-racking, sentimental and thrilling.",
"itemReviewed" : {
"@type" : "Movie",
"name" : "Gravity",
"sameAs" : "http://www.imdb.com/title/tt1454468#movie",
"datePublished" : "2013-10-04T00:00",
"director" : {
"@type" : "Person",
"name" : "Alfonso Cuarón",
"sameAs" : "http://en.wikipedia.org/wiki/Alfonso_Cuar%C3%B3n#this"
},
"actor" : [{
"@type" : "Person",
"name" : "Sandra Bullock",
"sameAs" : "http://en.wikipedia.org/wiki/Sandra_Bullock#webid"
}, {
"@type" : "Person",
"name" : "George Clooney",
"sameAs" : "http://en.wikipedia.org/wiki/George_Clooney#webid"
}]
},
"publisher" : {
"@type" : "Organization",
"name" : "Denver Post",
"sameAs" : "http://www.denverpost.com"
},
"reviewRating" : {
"@type" : "Rating",
"worstRating" : 1,
"bestRating" : 4,
"ratingValue" : 3.5
},
"url" : "http://www.denverpost.com/movies/ci_24225964/gravity-movie-review-anchored-by-sandra-bullock-its"
}
</script>

Raw JSON-LD

Pro: Deployable from any storage system (Amazon S3, Dropbox etc..) that lets you configure content type i.e., make the "appliction/json+ld" document content-type known to JSON-LD aware clients apps and services.
Con: shortage of crawlers.

Example:

{
"@context" : "http://schema.org",
"@type" : "Review",
"author" : {
"@type" : "Person",
"name" : "Lisa Kennedy",
"sameAs" : "https://plus.google.com/114108465800532712602#webid"
},
"datePublished" : "2014-03-13T20:00",
"description" : "Nerve-racking, sentimental and thrilling.",
"itemReviewed" : {
"@type" : "Movie",
"name" : "Gravity",
"sameAs" : "http://www.imdb.com/title/tt1454468#movie",
"datePublished" : "2013-10-04T00:00",
"director" : {
"@type" : "Person",
"name" : "Alfonso Cuarón",
"sameAs" : "http://en.wikipedia.org/wiki/Alfonso_Cuar%C3%B3n#this"
},
"actor" : [{
"@type" : "Person",
"name" : "Sandra Bullock",
"sameAs" : "http://en.wikipedia.org/wiki/Sandra_Bullock#this"
}, {
"@type" : "Person",
"name" : "George Clooney",
"sameAs" : "http://en.wikipedia.org/wiki/George_Clooney#this"
}]
},
"publisher" : {
"@type" : "Organization",
"name" : "Denver Post",
"sameAs" : "http://www.denverpost.com"
},
"reviewRating" : {
"@type" : "Rating",
"worstRating" : 1,
"bestRating" : 4,
"ratingValue" : 3.5
},
"url" : "http://www.denverpost.com/movies/ci_24225964/gravity-movie-review-anchored-by-sandra-bullock-its"
}

TURTLE embedded in HTML

Pro: The nature (semantics) of entity relationship types are easier to see and understand.
Con: Google can't or won't parse this kind of document content.

Example:

<script type="text/turtle">

@prefix schema: <http://schema.org/> .

<>
a schema:Review ;
schema:author [ a schema:Person ;
schema:name "Lisa Kennedy" ;
schema:sameAs <https://plus.google.com/114108465800532712602/about>
];
schema:datePublished "2014-03-13T20:00"^^xsd:dateTime ;
schema:description "Nerve-racking, sentimental and thrilling." ;
schema:itemReviewed [
a schema:Movie ;
schema:name "Gravity" ;
schema:sameAs <http://www.imdb.com/title/tt1454468/#movie> ;
schema:datePublished "2013-10-04T00:00"^^xsd:dateTime ;
schema:director [
a schema:Person ;
schema:name "Alfonso Cuarón" ;
schema:sameAs <http://en.wikipedia.org/wiki/Alfonso_Cuar%C3%B3n#webid>,
<http://dbpedia.org/resource/Alfonso_Cuar%C3%B3n>
] ;
schema:actor [
a schema:Person ;
schema:name "Sandra Bullock" ;
schema:sameAs <http://en.wikipedia.org/wiki/Sandra_Bullock#webid>,
<http://dbpedia.org/resource/Sandra_Bullock>
],
[
a schema:Person ;
schema:name "George Clooney" ;
schema:sameAs <http://en.wikipedia.org/wiki/George_Clooney#webid>,
<http://dbpedia.org/resource/George_Clooney>

]
];
schema:publisher [
a schema:Organization ;
schema:name "Denver Post" ;
schema:sameAs <http://www.denverpost.com>
] ;
schema:reviewRating [
a schema:Rating ;
schema:worstRating "1"^^xsd:integer ;
schema:bestRating "4"^^xsd:integer;
schema:ratingValue "3.5"^^xsd:integer
];
schema:url <http://www.denverpost.com/movies/ci_24225964/gravity-movie-review-anchored-by-sandra-bullock-its> .

</script>

Raw TURTLE

Pro: The nature (semantics) of entity relationship types are easier to see and understand. In addition, this kind of document is deployable from any storage system (Amazon S3, Dropbox etc..) that lets you configure content type i.e., make the "text/turtle" document content-type known to RDF aware clients (all of which support TURTLE circa., 2015).
Con: Google can't or won't parse this kind of document content.

Example:

@prefix schema: <http://schema.org/> .

<>
a schema:Review ;
schema:author [ a schema:Person ;
schema:name "Lisa Kennedy" ;
schema:sameAs <https://plus.google.com/114108465800532712602/about>
];
schema:datePublished "2014-03-13T20:00"^^xsd:dateTime ;
schema:description "Nerve-racking, sentimental and thrilling." ;
schema:itemReviewed [
a schema:Movie ;
schema:name "Gravity" ;
schema:sameAs <http://www.imdb.com/title/tt1454468/#movie> ;
schema:datePublished "2013-10-04T00:00"^^xsd:dateTime ;
schema:director [
a schema:Person ;
schema:name "Alfonso Cuarón" ;
schema:sameAs <http://en.wikipedia.org/wiki/Alfonso_Cuar%C3%B3n#webid>,
<http://dbpedia.org/resource/Alfonso_Cuar%C3%B3n>
] ;
schema:actor [
a schema:Person ;
schema:name "Sandra Bullock" ;
schema:sameAs <http://en.wikipedia.org/wiki/Sandra_Bullock#webid>,
<http://dbpedia.org/resource/Sandra_Bullock>
],
[
a schema:Person ;
schema:name "George Clooney" ;
schema:sameAs <http://en.wikipedia.org/wiki/George_Clooney#webid>,
<http://dbpedia.org/resource/George_Clooney>

]
];
schema:publisher [
a schema:Organization ;
schema:name "Denver Post" ;
schema:sameAs <http://www.denverpost.com>
] ;
schema:reviewRating [
a schema:Rating ;
schema:worstRating "1"^^xsd:integer ;
schema:bestRating "4"^^xsd:integer;
schema:ratingValue "3.5"^^xsd:integer
] ;
schema:url <http://www.denverpost.com/movies/ci_24225964/gravity-movie-review-anchored-by-sandra-bullock-its> .

Nanotation (a/k/a Micro TURTLE)

Pro: Nanotations [2] are deployable from any social media/networking space or service that offers the ability to post plain text (Tweets, Facebook Posts, G+ Posts, LinkedIn Posts, Blog Posts, Comments, Mailing List Posts etc.. ).

Con: Google can't or won't parse this kind of document content.
For all social-media platforms (bar Twitter), simply adopt the guidelines that follow in regards to creating nanotation-laced posts [5].

Example (using curl braces [like JSON, TRIG, NQuad Notations]):

{

@prefix schema: <http://schema.org/> .

<>
a schema:Review ;
schema:author [ a schema:Person ;
schema:name "Lisa Kennedy" ;
schema:sameAs <https://plus.google.com/114108465800532712602#webid>
];
schema:datePublished "2014-03-13T20:00"^^xsd:dateTime ;
schema:description "Nerve-racking, sentimental and thrilling." ;
schema:itemReviewed [
a schema:Movie ;
schema:name "Gravity" ;
schema:sameAs <http://www.imdb.com/title/tt1454468/#movie> ;
schema:datePublished "2013-10-04T00:00"^^xsd:dateTime ;
schema:director [
a schema:Person ;
schema:name "Alfonso Cuarón" ;
schema:sameAs <http://en.wikipedia.org/wiki/Alfonso_Cuar%C3%B3n#webid>,
<http://dbpedia.org/resource/Alfonso_Cuar%C3%B3n>
] ;
schema:actor [
a schema:Person ;
schema:name "Sandra Bullock" ;
schema:sameAs <http://en.wikipedia.org/wiki/Sandra_Bullock#webid>,
<http://dbpedia.org/resource/Sandra_Bullock>
],
[
a schema:Person ;
schema:name "George Clooney" ;
schema:sameAs <http://en.wikipedia.org/wiki/George_Clooney#webid>,
<http://dbpedia.org/resource/George_Clooney>

]
];
schema:publisher [
a schema:Organization ;
schema:name "Denver Post" ;
schema:sameAs <http://www.denverpost.com>
] ;
schema:reviewRating [
a schema:Rating ;
schema:worstRating "1"^^xsd:integer ;
schema:bestRating "4"^^xsd:integer;
schema:ratingValue "3.5"^^xsd:integer
] ;
schema:url <http://www.denverpost.com/movies/ci_24225964/gravity-movie-review-anchored-by-sandra-bullock-its> .

}

Example (including the ## Nanotation Start ## and ## Nanotation End ## parts of the template):

## Nanotation Start ##

@prefix schema: <http://schema.org/> .

<>
a schema:Review ;
schema:author [ a schema:Person ;
schema:name "Lisa Kennedy" ;
schema:sameAs <https://plus.google.com/114108465800532712602#webid>
];
schema:datePublished "2014-03-13T20:00"^^xsd:dateTime ;
schema:description "Nerve-racking, sentimental and thrilling." ;
schema:itemReviewed [
a schema:Movie ;
schema:name "Gravity" ;
schema:sameAs <http://www.imdb.com/title/tt1454468/#movie> ;
schema:datePublished "2013-10-04T00:00"^^xsd:dateTime ;
schema:director [
a schema:Person ;
schema:name "Alfonso Cuarón" ;
schema:sameAs <http://en.wikipedia.org/wiki/Alfonso_Cuar%C3%B3n#webid>,
<http://dbpedia.org/resource/Alfonso_Cuar%C3%B3n>
] ;
schema:actor [
a schema:Person ;
schema:name "Sandra Bullock" ;
schema:sameAs <http://en.wikipedia.org/wiki/Sandra_Bullock#webid>,
<http://dbpedia.org/resource/Sandra_Bullock>
],
[
a schema:Person ;
schema:name "George Clooney" ;
schema:sameAs <http://en.wikipedia.org/wiki/George_Clooney#webid>,
<http://dbpedia.org/resource/George_Clooney>

]
];
schema:publisher [
a schema:Organization ;
schema:name "Denver Post" ;
schema:sameAs <http://www.denverpost.com>
] ;
schema:reviewRating [
a schema:Rating ;
schema:worstRating "1"^^xsd:integer ;
schema:bestRating "4"^^xsd:integer;
schema:ratingValue "3.5"^^xsd:integer
] ;
schema:url <http://www.denverpost.com/movies/ci_24225964/gravity-movie-review-anchored-by-sandra-bullock-its> .

## Nanotation End ##

Links

  1. Social Network Profile Publishing for Everyone
  2. Graphity Review -- From Google Guidelines
  3. Gravity Review Description Deployed to Web via My Personal Data Space
  4. Gravity Review Description Raw TURTLE Notation Text -- alternative view of the TURTLE Notation examples that lets you see the source (original form) prior to processing (i.e., what you in in #2 above)
  5. http://bit.ly/fragment-identifiers-as-global-identifier-operators-for-the-web -- Understanding #webid Global Identifier pattern in a single slide
  6. http://dig.csail.mit.edu/breadcrumbs/node/71 -- Initial Give Yourself an HTTP URI based Name (Identifier) Post by TimBL
  7. About Nanotation -- guide for embedding structured data into an slot that support plain text, using TURTLE Notation
  8. TURTLE Notation based Review Template -- shared via my Personal Data Space
  9. HTML Document with embedded TURTLE Notation based Review Template -- shared via my Personal Data Space
  10. JSON-LD Notation based Review Template -- shared via my Personal Data Space.

Links:

  1. http://kidehen.blogspot.com/2015/01/social-networking-profiles-for-everyone.html -- Social Network Profile Publishing for Everyone
  2. http://kidehen.blogspot.com/2015/01/review-publishing-for-everyone.html -- Review Publishing for Everyone.