Socialwg/Social syntax/Patterns

From W3C Wiki

These is prior syntax work that could inform our decisions about social syntax. NOTE: unless otherwise noted these syntaxes are not free of patent or other intellectual property requirements.

Open Communities

The following syntax efforts were developed in open communities that encourage multiple projects and implementations.

Activity Streams Activity Streams 1.0 includes a JSON format and an enhanced Atom format.

AS1.0 is referenced by OpenSocial specifications and OMA SNEW specifications.


JSON-LD obviously is not a "social syntax" by itself. But it is a very important language and syntax that should inform decisions of the WG. W3C Recommendation


microformats includes a simple markup syntax using the class atribute for adding social (and other) information to HTML, as well as a canonical JSON representation.

  • Specs are covered under CC0+OWFa
  • Widely used and deployed, e.g. hAtom in WordPress, h-entry & h-card in numerous IndieWeb implementations.

Social content publishing evidence:


The SIOC (Semantically-Interlinked Online Communities) ontology "provides the main concepts and properties required to describe information from online communities". It includes concepts like "post", "thread", "forum", "user account" and various properties to connect them together. Available in RDF.

More info:

Single Project Driven

The following syntax efforts are driven by only a single project, often open source. is an open-source, federated social network. It has a JSON structure and defines concepts like "post" and "entity". Documentation:


Diaspora uses Atom XML for federation.

Single Company Driven

The following syntax work is developed and maintained by a single company. While varying licenses provide varying level of "openness", these efforts are all proprietary, being maintained by only a single company each.

Facebook OpenGraph and Graph API

Facebook have defined two things with the "Graph" name:

Facebook is not a member of the SocialWG.

Twitter Tweet

Twitter's JSON structure, a Tweet can encode a short text notification, authorship information, responses, recommended formatting, and attachments.


Twitter is not a member of the SocialWG.


The Google+ API uses JSON structures loosely based on Activity Streams.

Google is not a member of the SocialWG.


Yammer uses a JSON format similar to Activity Streams 1.0 -

Oligopoly Driven

The following syntax work is developed and maintained by a very small number of companies[1] that may optionally take input from related W3C hosted mailing list public-vocabs and repository + issue tracker on github.

Google led the original development of, an extended vocabulary of many kinds of objects, including people and activities. Originally for HTML encoding, but also supports a JSON-LD structure.

Schema.Org Actions Implementations - by Sam Goto


Maintained by: Google, Microsoft, Yandex (none of whom are members of the SocialWG).

There are related W3C hosted mailing list public-vocabs and repository + issue tracker on github that provide an open support forum for discussion of vocabulary, some of which may be (and sometimes is) taken as input to the invitation-only oligopoly's closed internal vocabulary decision making lists and processes.

However, representatives of have repeatedly publicly admitted when questioned (e.g. at the 2013 W3C's Workshop on Social Standards) that they make the ultimate decisions about what goes into

Social content publishing evidence:

  • Google+ includes Markup in their profiles (example: [view-source:] ) (Google owned property)
  • includes Markup in their non-curlable dynamic templates (Google owned property)
  • includes minimal Markup in their Repository pages and makes use of in notification emails
  • List of other sites using [2]