Activity Streams Ontology Specification 0.1

Namespace Document 21 September 2009 - first draft

This version:
activity_streams_ontology.html (in rdf soon)
Namespace:
http://xmlns.com/aso/0.1/
Latest version:
Previous version:
Authors:
Michele Minno, Davide Palmisano
Contributors:
Members of the NoTube Project (NoTube) and the wider RDF and SemWeb developer community. See acknowledgements.

Abstract

This specification describes the Activity Streams Ontology (ASO), defined as a dictionary of named properties and classes using W3C's RDF technology.

Status of This Document

This document is in a initial and draft status.

As usual, see the changes section for details of the changes in this version of the specification.

Notational Conventions

In this document, the following namespace prefixes are used for the given namespace URI from the referenced specification:

AliasNamespace URISpecification
aso:  http://xmlns.com/aso/0.1/  Activity Streams Ontology
foaf:  http://xmlns.com/foaf/0.1/  Friend-of-a-friend ontology
dcterms:  http://purl.org/dc/terms/  DCMI Metadata Terms
atom:  http://www.w3.org/2005/Atom  The Atom Syndication Format (, “The Atom Syndication Format,” .) [RFC4287]
thr:  http://purl.org/syndication/thread/1.0  Atom Threading Extensions (Snell, J., “Atom Threading Extensions,” September 2006.) [RFC4685]
activity:  http://activitystrea.ms/spec/1.0/  Atom Activity Extensions
media:  http://purl.org/syndication/atommedia  Atom Media Extensions
cal:  urn:ietf:params:xml:ns:xcal  xCal
pc:  http://portablecontacts.net/schema/1.0  PortableContacts
geo:  http://www.georss.org/georss  GeoRSS

The choices of namespace prefix are arbitrary and not semantically significant.

Table of Contents

Activity Streams

Here follows an example of feed entry describing an activity stream. Most of the content within the tag is traditional Atom, and is the very material that all popular Atom readers like Google Reader and NewzCrawler use to render the content. The and tags are drawn from the Activity Streams specification, and are the portions of the entry that applications should program against.

<entry> <title>Snapshot Smith uploaded a photo.</title> <id>http://www.facebook.com/album.php?aid=6&id=499225643&ref=at</id> <link href="http://www.facebook.com/album.php?aid=6&id=499225643&ref=at" /> <published>2009-04-06T21:23:00-07:00</published> <updated>2009-04-06T21:23:00-07:00</updated> <author> <name>Snapshot Smith</name> <uri>http://www.facebook.com/people/Snapshot-Smith/499225643</uri> </author> <category term="Upload Photos" label="Upload Photos" /> <activity:verb> http://activitystrea.ms/schema/1.0/post/ </activity:verb> <activity:object> <id>http://www.facebook.com/photo.php?pid=28&id=499225643&ref=at</id> <thumbnail>http://photos-e.ak.fbcdn.net/photos-ak-snc1/v2692/195/117/499225643/s499225643_28_6861716.jpg</thumbnail> <caption>A very attractive wall, indeed.</caption> <published>2009-04-06T21:23:00-07:00</published> <link rel="alternate" type="text/html" href="http://www.facebook.com/photo.php?pid=28&id=499225643&ref=at" /> <activity:object-type> http://activitystrea.ms/schema/1.0/photo/ </activity:object-type> </activity:object> </entry>

Activity Streams Ontology (ASO) at a glance

image of the schema

An a-z index of ASO terms, by class (categories or types) and by property.

Classes: Activity | Actor | Annotation | Application | Article | Audio | BlogEntry | Bookmark | Comment | Context | Event | File | Group | GroupOfUsers | Join | Location | MediaCollection | MediaContent | MakeFriend | MarkAsFavorite| Mood | Note | Object | Person | Photo | PhotoAlbum | Place | Play | Playlist | Post | Replies | RSVP | Save | Service | Share | Song | StartFollowing | Tag | Time | User | Verb | Video

Properties: activityActor | activityContext | activityObject | activityVerb | actorUrl | audioStream | avatar | commenter | content | date | description | email | endDateAndTime | fileUrl | geographicCoordinates | largerImage | name | playerApplet | RSVPConnotation | serviceUrl | summary | startDateAndTime | targetName | targetUrl | thumbnail | url | videoStream

ASO terms, grouped in broad categories.

Actor types

Object types

Verb types

Context types

ASO cross-reference: Listing ASO Classes and Properties

ASO introduces the following classes and properties. View this document's source markup to see the RDF/XML version.

Classes and Properties (full detail)


Class: aso:Activity

Activity - A generic activity people performs on the web.
Status: stable
in-range-of:
in-domain-of: activityActor | activityContext | activityObject | activityVerb

Class: aso:Actor

Actor - Who performs the activity, modelled as atom:author
Status: stable
in-range-of:activityActor
in-domain-of:name | url | email
same-as:sioc:User

Class: aso:Annotation

Annotation - an extra text-based note added to an activity by the user.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Context

Class: aso:Application

Application - An actor performed by an application.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Actor

Class: aso:Article

Article - Articles generally consist of paragraphs of text, in some cases incorporating embedded media such as photos and inline hyperlinks to other resources.
Status: stable
in-range-of:
in-domain-of: name | summary | content
sub-class-of:Object

Class: aso:Audio

Article - audio content.
Status: stable
in-range-of:
in-domain-of:audioStream | playerApplet
sub-class-of:MediaContent
same-as:dcterms:Sound

Class: aso:BlogEntry

BlogEntry - BlogEntry is a specialization of the "article" object type, so publishers SHOULD also include the object type URL for the "article" object type when publishing object entries of this type.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Article

Class: aso:Bookmark

Bookmark - a pointer to some URL -- typically a web page.
Status: stable
in-range-of:
in-domain-of: name | targetUrl | targetName | thumbnail | description | content
sub-class-of:Object

Class: aso:Comment

Comment - a textual response to another object. The comment object type MUST NOT be used for other kinds of replies, such as video replies or reviews. If an object has no explicit type but the object element has a thr:in-reply-to element a consumer SHOULD consider that object to be a comment.
Status: stable
in-range-of:
in-domain-of: commenter | content
sub-class-of:Object

Class: aso:Context

Context - describes the context of an activity.
Status: stable
in-range-of:activityContext
in-domain-of:

Class: aso:Event

Event - an event that occurs in a certain place during a particular interval of time.
Status: stable
in-range-of:
in-domain-of: name | startDateAndTime | endDateAndTime | summary
sub-class-of:Object
same-as:dcterms:Event

Class: aso:File

File - some document or other file with no additional machine-readable semantics.
Status: stable
in-range-of:
in-domain-of:fileUrl
sub-class-of:Object

Class: aso:Group

Group - a collection of people which people can join and leave.
Status: stable
in-range-of:
in-domain-of:name | avatar
sub-class-of:Object
same-as:foaf:Group

Class: aso:GroupOfUsers

GroupOfUsers - An actor performed by a group of users.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Actor

Class: aso:Join

Join - the Actor has become a member of the Object. This specification only defines the meaning of this Verb when its Object is a group.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Verb

Class: aso:Located

Located - the Actor is located in Object.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Verb

Class: aso:Location

Location - the location where the user was at the time the activity was performed. This may be an accurate geographic coordinate, a street address, a free-form location name or a combination of these.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Context
same-as:dcterms:Location

Class: aso:MediaCollection

MediaCollection - Generic collection of media items.
Status: stable
in-range-of:
in-domain-of: name | description | thumbnail
sub-class-of:Object

Class: aso:MediaContent

MediaContent - a media item.
Status: stable
in-range-of:
in-domain-of: name | description
sub-class-of:Object

Class: aso:MakeFriend

MakeFriend - the Actor sets the creation of a friendship that is reciprocated by the object.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Verb

Class: aso:MarkAsFavorite

MarkAsFavorite - the Actor marked the Object as an item of special interest.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Verb

Class: aso:Mood

Mood - the mood of the user when the activity was performed. This is usually collected via an extra field in the user interface used to perform the activity. For the purpose of this schema, a mood is a freeform, short mood keyword or phrase along with an optional mood icon image.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Context

Class: aso:Note

Note - is intended for use in "micro-blogging" and in systems where users are invited to publish a timestamped "status".
Status: stable
in-range-of:
in-domain-of: content
sub-class-of:Object

Class: aso:Object

Object - the generic object of the activity.
Status: stable
in-range-of:activityObject
in-domain-of:name | description | url

Class: aso:Person

Person - a user account. This is often a person, but might also be a company or ficticious character that is being represented by a user account.
Status: stable
in-range-of:
in-domain-of: avatar
sub-class-of:Object
same-as:foaf:Person

Class: aso:Photo

Photo - a graphical still image.
Status: stable
in-range-of:
in-domain-of: largerImage | content | thumbnail
sub-class-of:MediaContent
same-as:dcterms:StillImage

Class: aso:PhotoAlbum

PhotoAlbum - a collection of images.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:MediaCollection

Class: aso:Place

Place - a location on Earth.
Status: stable
in-range-of:
in-domain-of: name | geographicCoordinates
sub-class-of:Object
same-as:dcterms:Location

Class: aso:Playlist

Playlist - an ordered list of time-based media items, such as video and audio objects.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:MediaCollection

Class: aso:Post

Post - describes the act of posting or publishing an Object on the web. The implication is that before this Activity occurred the Object was not posted, and after the Activity has occurred it is posted or published.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Verb

Class: aso:Replies

Replies - Most social applications have a concept of "comments", "replies" or "responses" to social Objects. In many cases these are simple text messages, but any Object can in practice be a reply. A text-only reply SHOULD be represented using the comment object type. Replies of other types MUST carry the appropriate type and MUST NOT carry the comment object type. Replies, regardless of object type, SHOULD be represented using the thr:in-reply-to element. The act of posting a reply is represented by the post Verb as with "top-level" Objects.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Context

Class: aso:RSVP

RSVP - indicates that the actor has made a RSVP ("Répondez s'il vous plaît") for the object, that is, he/she replied to an invite. This specification only defines the meaning of this verb when its object is an event. The use of this Verb is only appropriate when the RSVP was created by an explicit action by the actor. It is not appropriate to use this verb when a user has been added as an attendee by an event organiser or administrator. .
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Verb

Class: aso:Save

Save - the Actor has called out the Object as being of interest primarily to him- or herself. Though this action MAY be shared publicly, the implication is that the Object has been saved primarily for the actor's own benefit rather than to show it to others as would be indicated by the "share" Verb .
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Verb

Class: aso:Service

Service - the Web Service where the activity is performed by the Actor.
Status: stable
in-range-of:
in-domain-of:name | serviceUrl
sub-class-of:Context

Class: aso:Share

Share - the Actor has called out the Object to readers. In most cases, the actor did not create the Object being shared, but is instead drawing attention to it.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Verb

Class: aso:Song

Song - a song or a recording of a song. Objects of type Song might contain information about the song or recording, or they might contain some representation of the recording itself. In the latter case, the song SHOULD also be annotated with the "audio" object type and use its properties. Type "song" SHOULD only be used when the publisher can guarantee that the object is a song rather than merely a generic audio stream.
Status: stable
in-range-of:
in-domain-of: name
sub-class-of:Object

Class: aso:StartFollowing

StartFollowing - the Actor began following the activity of the Object. In most cases, the Object of this Verb will be a user, but it can potentially be of any type that can sensibly generate activity.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Verb

Class: aso:Tag

Tag - the Actor has identified the presence of a Target inside an Object. The target of the "tag" verb gives the object in which the tag has been added. For example, if a user appears in a photo, the activity:object is the user and the activity:target is the photo.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Verb

Class: aso:Time

Time - contextual information about time
Status: stable
in-range-of:
in-domain-of:date
sub-class-of:Context

Class: aso:User

User - An actor performed by a user.
Status: stable
in-range-of:
in-domain-of:
sub-class-of:Actor

Class: aso:Verb

Verb - a generic verb of an activity.
Status: stable
in-range-of:activityVerb
in-domain-of:

Class: aso:Video

Video - video content, which usually consists of a motion picture track and an audio track.
Status: stable
in-range-of:
in-domain-of: videoStream | playerApplet | content | thumbnail
sub-class-of:MediaContent
same-as:dcterms:MovingImage

[#]

[back to top]




Property: aso:activityActor

activityActor - relates the activity to its actor.
Status: unstable
Domain: aso:Activity
Range: aso:Actor

Property: aso:activityContext

activityContext - relates the activity to its context.
Status: unstable
Domain: aso:Activity
Range: aso:Context

Property: aso:activityObject

activityObject - relates the activity to its object.
Status: unstable
Domain: aso:Activity
Range: aso:Object

Property: aso:activityVerb

activityVerb - relates the activity to its verb.
Status: unstable
Domain: aso:Activity
Range: aso:Verb

Property: aso:audioStream

audioStream - the URL and metadata for the audio content itself. The URL is represented as the value of the href attribute on an atom:link element with rel enclosure and a type that matches audio/*.
Status: unstable
Domain: aso:Audio
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:avatar

avatar - the URL and metadata for an image that represents the user or the group. The URL is represented as the value of the href attribute on an atom:link element with rel avatar and a type of either image/jpeg, image/png or image/gif. Publishers SHOULD include media:width and media:height attributes on the atom:link element describing the dimensions of the linked image. Processors MAY ignore avatars that are of an inappropriate size for their user interface. Publishers MAY include several images of different sizes.
Status: unstable
Domain: aso:Person | aso:Group
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:commenter

commenter - who wrote the comment. Included as the content of the atom:title element. Many systems do not have the concept of a title or Actor for a comment; such systems MUST include an atom:title element with no text content. Processors SHOULD refer to such comments as simply being "a comment", with appropriate localization, if they are to be described in a sentence.
Status: unstable
Domain: aso:Comment
Range: http://www.w3.org/2000/01/rdf-schema#Literal
sub-property-of:dcterms:creator

Property: aso:content

content - contains the content of atom:content element, either contains or links to the content of the entry.
Status: unstable
Domain: aso:Article | aso:Comment | aso:Note | aso:Photo | aso:Video
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:date

date - the time date.
Status: unstable
Domain: aso:Time
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:description

description - The description or long caption assigned by the author. Included as the content of the media:description element (optional).
Status: unstable
Domain: aso:Object
Range: http://www.w3.org/2000/01/rdf-schema#Literal
same-as:dcterms:description

Property: aso:endDate

endDate - the date and time that the event ends. Included via a cal:dtend element as defined in xCal.
Status: unstable
Domain: aso:Event
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:email

email - the actor email.
Status: unstable
Domain: aso:Actor
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:fileUrl

fileUrl - the value of the href attribute on an atom:link element with rel enclosure. Should there be multiple links with rel enclosure with different type attribute value, they are considered to be alternate representations of the file.
Status: unstable
Domain: aso:File
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:geographicCoordinates

geographicCoordinates - the latitude and longitude of the place as a point on Earth. Included via the geo:point element, i.e.: 45.256 -71.92.
Status: unstable
Domain: aso:Place
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:largerImage

largerImage - The URL and metadata for a larger, ideally full-size version of the photo intended for standalone viewing. The URL is represented as the value of the href attribute on an atom:link element with rel enclosure and a type of either image/jpeg, image/png or image/gif. Publishers SHOULD include media:width and media:height attributes on the atom:link element describing the dimensions of the linked image.
Status: unstable
Domain: aso:Photo
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:name

name - contains the content of atom:title element, set by the creator for Group, by the organizer for Event.
Status: unstable
Domain: aso:Object | aso:Service
Range: http://www.w3.org/2000/01/rdf-schema#Literal
same-as:dcterms:title

Property: aso:playerApplet

playerApplet - the URL and metadata for some kind of applet that will allow a user to view the video. The URL is represented as the value of the href attribute on an atom:link element with rel alternate and an appropriate type. Publishers SHOULD include media:width and media:height attributes on the atom:link element describing the ideal dimensions of the linked applet.
Status: unstable
Domain: aso:Video
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:RSVPConnotation

RSVPConnotation - the connotation of the RSVP
Status: unstable
Domain: aso:RSVP
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:serviceUrl

serviceUrl - the url of the Web Service in the contextual information.
Status: unstable
Domain: aso:Service
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:summary

summary - an introduction to or a summary of the full content (optional) for Article, a short description as provided by its organiser for Event, included as the content of the atom:summary element.
Status: unstable
Domain: aso:Article | aso:Event
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:startDateAndTime

startDate - the date and time that the event begins. Included via a cal:dtstart element as defined in xCal.
Status: unstable
Domain: aso:Event
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:targetName

targetName - the name of the item that is the target of the bookmark. Represented as the value of the title attribute on the atom:link element from which the target URL was obtained.
Status: unstable
Domain: aso:Bookmark
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:targetUrl

targetUrl - the URL of the item that is the target of the bookmark. Represented as the value of the href attribute on an atom:link element with rel "related".
Status: unstable
Domain: aso:Bookmark
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:thumbnail

thumbnail - the URL and metadata for a thumbnail version of the item. The URL is represented as the value of the href attribute on an atom:link element with rel preview and a type of either image/jpeg, image/png or image/gif. Publishers SHOULD include media:width and media:height attributes on the atom:link element describing the dimensions of the linked item.
Status: unstable
Domain: aso:Bookmark | aso:MediaCollection | aso:Photo | aso:Video
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:url

url - the value of the href attribute on an atom:link element with a rel value of alternate and a type value of text/html.
Status: unstable
Domain: aso:Actor | aso:Object
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Property: aso:videoStream

videoStream - the URL and metadata for the video content itself. The URL is represented as the value of the href attribute on an atom:link element with rel enclosure and a type that matches video/*.
Status: unstable
Domain: aso:Video
Range: http://www.w3.org/2000/01/rdf-schema#Literal

Acknowledgments

This work is based on the hard work done here:

Activity Streams Schema

Recent Changes

Previous Changes