Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "OpenSocial2 vocabulary"

(Classes Not Used)
(UtcOffsetValuesValues)
 
(72 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}} [[Image:Higgins logo 76Wx100H.jpg|right]]
+
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}
  
 
RDF/OWL representation of the [http://opensocial-resources.googlecode.com/svn/spec/trunk/Social-Data.xml OpenSocial Social Data Specification 2.0]. Approximately 600 triples from Benjamin Nowak's "opensocial.rdf" were imported from the 2008-12-16 version of his file as a great jump-start to creating this updated vocabulary. Part of the [[Persona Data Model 2.0]].
 
RDF/OWL representation of the [http://opensocial-resources.googlecode.com/svn/spec/trunk/Social-Data.xml OpenSocial Social Data Specification 2.0]. Approximately 600 triples from Benjamin Nowak's "opensocial.rdf" were imported from the 2008-12-16 version of his file as a great jump-start to creating this updated vocabulary. Part of the [[Persona Data Model 2.0]].
  
 
== Files ==
 
== Files ==
SVN source: [https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/H2/org.eclipse.higgins.ontology/opensocial2.owl opensocial2.owl]
+
* SVN source: [https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/H2/org.eclipse.higgins.ontology/opensocial2.owl opensocial2.owl]
  
 
== UML Overview  ==
 
== UML Overview  ==
 
+
Higgins-specific additions are displayed in blue:
[[Image:Opensocial2 2.0.103.png|center]]
+
[[Image:Opensocial2 2.0.109.png|center]]
  
 
== Classes ==
 
== Classes ==
 +
  
 
===Message===
 
===Message===
See http://opensocial-resources.googlecode.com/svn/spec/trunk/Social-Data.xml#Message.
+
See http://opensocial-resources.googlecode.com/svn/spec/trunk/Social-Data.xml#Message. Unlike the standalone os:Message class, this is a subclass of p:Message
 +
* SubclassOf: p:Message
 
* 0..1 appUrl
 
* 0..1 appUrl
 
* 0..1 body
 
* 0..1 body
* 0..1 id
 
 
* 0..1 senderId
 
* 0..1 senderId
 
* 1..1 messageStatus
 
* 1..1 messageStatus
 +
* 1..1 timeReceived
 
* 1..1 timeSent
 
* 1..1 timeSent
 
* 1..1 title
 
* 1..1 title
Line 24: Line 26:
 
===MessageStatusValues===
 
===MessageStatusValues===
 
Allowed values of messageStatus attribute.
 
Allowed values of messageStatus attribute.
* one of {"NEW" , "READ" , "DELETED"}
+
* one of {"new" , "read" , "deleted"}
  
===Organization===
+
===MessageWrapper===
 +
Exactly like a Message except that instead of the ''body'' attribute holding the message content, the content is accessible from an external mail database service using ''bodyReference''.
 +
* subClassOf: Message
 +
* 1..1 bodyReference
 +
* 1..1 category
 +
* 0..1 saved
  
===BodyType===
+
===NetworkPresenceValues===
 +
Values of networkPresence.
 +
* one of ("AWAY" , "CHAT" , "DND" , "OFFLINE" , "ONLINE" , "XA")
  
 +
===Organization===
 +
Unlike the standalone os:Organization class, we make the os:Organization a subclass of vcard:Org and a subclass of h:Organization.
 +
* SubclassOf: vcard:Organization, h:Organization
 +
* 0..1 description
 +
* 0..1 field
 +
* 0..1 salary
 +
* 0..1 subField
 +
* 0..1 jobTitle (renamed from title)
  
 +
Not used:
 +
* address - use v:adr
 +
* department - use v:organization-unit
 +
* endDate - use the h:end of the p:Person
 +
* location - the person whose v:org points to this Organization also has a v:adr
 +
* name - use v:organization-name
 +
* startDate - use the h:start of the p:Person
  
 
=== Person ===
 
=== Person ===
 
+
Regular attributes:
 
* 0..1 aboutMe
 
* 0..1 aboutMe
 +
* 0..1 contacPreference
 +
* 0..1 dn
 +
* 0..1 networkPresence
 +
* 0..1 published
 +
* 0..1 status
 +
* 0..1 updated
 +
* 0..1 utcOffset
 
* 0..N activities   
 
* 0..N activities   
 +
* 0..1 anniversary
 +
* 0..1 bodyType
 
* 0..N books  
 
* 0..N books  
 
* 0..N cars  
 
* 0..N cars  
 
* 0..1 drinker  
 
* 0..1 drinker  
 
* 0..1 ethnicity   
 
* 0..1 ethnicity   
* 0..1 fashion - Person's thoughts on fashion, specified as a string.
+
* 0..1 fashion - Person's thoughts on fashion
 
* 0..N food - Person's favorite food
 
* 0..N food - Person's favorite food
 
* 0..1 happiestWhen  
 
* 0..1 happiestWhen  
Line 46: Line 79:
 
* 0..1 humor  
 
* 0..1 humor  
 
* 0..N jobInterests  
 
* 0..N jobInterests  
* 0..N languagesSpoken - values are ISO 639-1 codes (e.g. "en" for English)
+
* 0..N languagesSpoken - values from p:Language
 
* 0..1 livingArrangement  
 
* 0..1 livingArrangement  
 
* 0..1 lookingFor  
 
* 0..1 lookingFor  
* 0..1 networkPresence
+
* 0..1 movies
 +
* 0..1 music
 +
* 0..1 note
 +
* 0..1 orgIdentifier - NOTE: max of 1 only (and is the id "at" the vcard:org of the p:Person in question)
 
* 0..N pets  
 
* 0..N pets  
* 0..1 politicalViews  
+
* 0..N politicalViews  
 +
* 0..1 profileSong
 +
* 0..1 profileVideo
 
* 0..N quotes  
 
* 0..N quotes  
* 0..1 relationshipStatus - one of {"cohabiting" , "divorced" , "married" , "<unspecified>" , "other" , "separated" , "single" , "to be married" , "widowed"}
+
* 0..1 relationshipStatus - NOTE we constrain values to one of {"cohabiting" , "divorced" , "married" , "<unspecified>" , "other" , "separated" , "single" , "to be married" , "widowed"}
 
* 0..1 religion  
 
* 0..1 religion  
 
* 0..1 romance  
 
* 0..1 romance  
Line 60: Line 98:
 
* 0..1 smoker  
 
* 0..1 smoker  
 
* 0..N sports  
 
* 0..N sports  
* 0..1 status
 
* 0..N tags
 
* 0..1 timeZone
 
 
* 0..N turnOffs
 
* 0..N turnOffs
 
* 0..N turnOns
 
* 0..N turnOns
 +
* 0..N tvShows
  
=== Person attributes Not Used ===
+
==== OS 2.0 Person attributes Not Used ====
* type - opensocial says "The type or label" domain: (Address, MediaItem, Message, or Phone)
+
 
* interests - use online-behavior:interest
+
Regular:
 +
* accounts - see [[Proxy vocabulary]]
 +
* addresses - use vcard:adr
 +
* appData
 +
* connected
 +
* displayName - use skos:prefLabel
 +
* emails - use foaf:mbox
 +
* hasApp
 +
* id - the URI of the Person is its id
 +
* ims - use foaf:aimChatID, skypeChatID, etc. TODO: add qq, xmpp and gtalk to persona.owl
 +
* location - use p:location
 +
* name - use vcard:n
 +
* organizations - use vcard:org, but max of one per p:Person
 +
* phoneNumbers - use vcard:tel, but max of one per p:Person
 +
* photos
 +
* preferredName
 +
* profileURL
 +
* relationships - use h:relation, h:correlation, h:indeterminate and sub-attributes
 +
* tags
 +
* thumbnailUrl - use vcard:logo
 +
* urls - use foaf:page
 +
 
 +
Socially-oriented:
 
* age - compute/use vcard:bday or use fp:age
 
* age - compute/use vcard:bday or use fp:age
* addresses - use vcard:adr
+
* birthday - use vcard:bday
* children (single string) - use p:child&nbsp;??
+
* children - use p:child
* currentAddress - use vcard:Pref
+
* dateOfBirth - use vcard:bday
+
 
* gender - use foaf:gender  
 
* gender - use foaf:gender  
 +
* interests - use online-behavior:interest
 +
* nickname - use vcard:nickname
 +
* dateOfBirth - use vcard:bday
 
* hasApp - n/a  
 
* hasApp - n/a  
* id - n/a
+
* id - URI of the person entity itself
 
* latitude - use fp:latitude
 
* latitude - use fp:latitude
 
* locality - use vcard:locality
 
* locality - use vcard:locality
Line 82: Line 141:
 
* movies - use media:TBD  
 
* movies - use media:TBD  
 
* name - use vcard:full-name  
 
* name - use vcard:full-name  
* nickname - use card:nickname
 
 
* phoneNumbers - use vcard:tel  
 
* phoneNumbers - use vcard:tel  
 
* profileSong - use media:TBD  
 
* profileSong - use media:TBD  
Line 88: Line 146:
 
* profileVideo - use media:TBD  
 
* profileVideo - use media:TBD  
 
* relationshipStatus - use p:relationshipStatus instead
 
* relationshipStatus - use p:relationshipStatus instead
 +
* tags - n/a
 
* thumbnailUrl - use foaf:thumbnail  
 
* thumbnailUrl - use foaf:thumbnail  
* address - use vcard:adr  
+
* address - use vcard:adr
* startDate - use h:start
+
* endDate - use h:end
+
  
==BodyType ==
+
===RelationshipStatus===
 +
Values of relationshipStatus
 +
* cohabiting, divorced, married, other, separated, single, to_be_married, unspecified, widowed
  
* 0..1 build
+
===UtcOffset===
* 0..1 eyeColor 
+
Values of utcOffset attribute.
* 0..1 hairColor 
+
* 0..1 height
+
* 0..1 weight
+
  
==Organization Attributes==
+
== OpenSocial 1.0/2.0 Classes Not Used ==
  
* 0..1 name
+
* Name - use vcard:Name
* 0..1 title
+
** givenName, familyName, etc.
* 0..1 description 
+
* Phone - use vcard:Tel
* 0..1 field 
+
** number
* 0..1 subField
+
* Address - use vcard:Address
* 0..1 webPage
+
** streetAddress, locality, country ...
 +
* ActivityEntry - use Activity in [[ActivityStreams vocabulary]] (planned)
 +
* ActivityObject - use ActivityObject in [[ActivityStreams vocabulary]] (planned)
 +
 
 +
== Person Attributes (partial) ==
 +
 
 +
=== utcOffset ===
 +
The offset from UTC of this Person's current time zone, as of the time this response was returned.  
 +
* domain: p:Person
 +
* value: UtdOffsetValues
  
 
== Message Attributes ==
 
== Message Attributes ==
Line 118: Line 183:
  
 
===senderId===
 
===senderId===
Id of person who sent the message.
+
Id of entity (person or organization) who sent the message. If this is an email message, then sender id is the sender's email address (e.g. foo@boo.com).
 
* domain: Message
 
* domain: Message
 +
* value: xsd:string
 +
 +
===senderLabel===
 +
Human friendly name of sender. E.g. Tom Carroll vs. tcarroll@azigo.com
 +
* domain: Message
 +
* value: xsd:string
  
 
===messageStatus===
 
===messageStatus===
 
Status of the message. (NEW, READ, DELETED).
 
Status of the message. (NEW, READ, DELETED).
 
* domain: Message
 
* domain: Message
 +
* value: MessageStatusValues
 +
 +
===timeReceived===
 +
UTC time message was received.
 +
* domain: Message
 +
* value: xsd:dateTime
  
 
===timeSent===
 
===timeSent===
 
UTC time message was sent.
 
UTC time message was sent.
 
* domain: Message
 
* domain: Message
 +
* value: xsd:dateTime
  
 
===title===
 
===title===
 
The title of the Activity, Message or Organization. HTML attributes are allowed and are sanitized by the container.
 
The title of the Activity, Message or Organization. HTML attributes are allowed and are sanitized by the container.
 
* domain: Message
 
* domain: Message
 +
* value: xsd:string
  
 
===OpenSocial 2.0 Message attributes not used===
 
===OpenSocial 2.0 Message attributes not used===
Line 140: Line 219:
 
* replies
 
* replies
 
* titleId - The title of the message as a message template. Specifies the message ID to use in the gadget xml.
 
* titleId - The title of the message as a message template. Specifies the message ID to use in the gadget xml.
* type
+
* type  
 
* updated
 
* updated
 
* urls - List of related URLs for this message. Supported URL types include 'alternate', alternate for for this mailbox (text/html being the most common).
 
* urls - List of related URLs for this message. Supported URL types include 'alternate', alternate for for this mailbox (text/html being the most common).
 
 
  
 
== Links ==
 
== Links ==

Latest revision as of 17:34, 22 October 2011

{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}

RDF/OWL representation of the OpenSocial Social Data Specification 2.0. Approximately 600 triples from Benjamin Nowak's "opensocial.rdf" were imported from the 2008-12-16 version of his file as a great jump-start to creating this updated vocabulary. Part of the Persona Data Model 2.0.

Files

UML Overview

Higgins-specific additions are displayed in blue:

Opensocial2 2.0.109.png

Classes

Message

See http://opensocial-resources.googlecode.com/svn/spec/trunk/Social-Data.xml#Message. Unlike the standalone os:Message class, this is a subclass of p:Message

  • SubclassOf: p:Message
  • 0..1 appUrl
  • 0..1 body
  • 0..1 senderId
  • 1..1 messageStatus
  • 1..1 timeReceived
  • 1..1 timeSent
  • 1..1 title

MessageStatusValues

Allowed values of messageStatus attribute.

  • one of {"new" , "read" , "deleted"}

MessageWrapper

Exactly like a Message except that instead of the body attribute holding the message content, the content is accessible from an external mail database service using bodyReference.

  • subClassOf: Message
  • 1..1 bodyReference
  • 1..1 category
  • 0..1 saved

NetworkPresenceValues

Values of networkPresence.

  • one of ("AWAY" , "CHAT" , "DND" , "OFFLINE" , "ONLINE" , "XA")

Organization

Unlike the standalone os:Organization class, we make the os:Organization a subclass of vcard:Org and a subclass of h:Organization.

  • SubclassOf: vcard:Organization, h:Organization
  • 0..1 description
  • 0..1 field
  • 0..1 salary
  • 0..1 subField
  • 0..1 jobTitle (renamed from title)

Not used:

  • address - use v:adr
  • department - use v:organization-unit
  • endDate - use the h:end of the p:Person
  • location - the person whose v:org points to this Organization also has a v:adr
  • name - use v:organization-name
  • startDate - use the h:start of the p:Person

Person

Regular attributes:

  • 0..1 aboutMe
  • 0..1 contacPreference
  • 0..1 dn
  • 0..1 networkPresence
  • 0..1 published
  • 0..1 status
  • 0..1 updated
  • 0..1 utcOffset
  • 0..N activities
  • 0..1 anniversary
  • 0..1 bodyType
  • 0..N books
  • 0..N cars
  • 0..1 drinker
  • 0..1 ethnicity
  • 0..1 fashion - Person's thoughts on fashion
  • 0..N food - Person's favorite food
  • 0..1 happiestWhen
  • 0..N heroes
  • 0..1 humor
  • 0..N jobInterests
  • 0..N languagesSpoken - values from p:Language
  • 0..1 livingArrangement
  • 0..1 lookingFor
  • 0..1 movies
  • 0..1 music
  • 0..1 note
  • 0..1 orgIdentifier - NOTE: max of 1 only (and is the id "at" the vcard:org of the p:Person in question)
  • 0..N pets
  • 0..N politicalViews
  • 0..1 profileSong
  • 0..1 profileVideo
  • 0..N quotes
  • 0..1 relationshipStatus - NOTE we constrain values to one of {"cohabiting" , "divorced" , "married" , "<unspecified>" , "other" , "separated" , "single" , "to be married" , "widowed"}
  • 0..1 religion
  • 0..1 romance
  • 0..1 scaredOf
  • 0..1 sexualOrientation
  • 0..1 smoker
  • 0..N sports
  • 0..N turnOffs
  • 0..N turnOns
  • 0..N tvShows

OS 2.0 Person attributes Not Used

Regular:

  • accounts - see Proxy vocabulary
  • addresses - use vcard:adr
  • appData
  • connected
  • displayName - use skos:prefLabel
  • emails - use foaf:mbox
  • hasApp
  • id - the URI of the Person is its id
  • ims - use foaf:aimChatID, skypeChatID, etc. TODO: add qq, xmpp and gtalk to persona.owl
  • location - use p:location
  • name - use vcard:n
  • organizations - use vcard:org, but max of one per p:Person
  • phoneNumbers - use vcard:tel, but max of one per p:Person
  • photos
  • preferredName
  • profileURL
  • relationships - use h:relation, h:correlation, h:indeterminate and sub-attributes
  • tags
  • thumbnailUrl - use vcard:logo
  • urls - use foaf:page

Socially-oriented:

  • age - compute/use vcard:bday or use fp:age
  • birthday - use vcard:bday
  • children - use p:child
  • gender - use foaf:gender
  • interests - use online-behavior:interest
  • nickname - use vcard:nickname
  • dateOfBirth - use vcard:bday
  • hasApp - n/a
  • id - URI of the person entity itself
  • latitude - use fp:latitude
  • locality - use vcard:locality
  • longitude - use fp:longitude
  • movies - use media:TBD
  • name - use vcard:full-name
  • phoneNumbers - use vcard:tel
  • profileSong - use media:TBD
  • profileUrl - use media:TBD
  • profileVideo - use media:TBD
  • relationshipStatus - use p:relationshipStatus instead
  • tags - n/a
  • thumbnailUrl - use foaf:thumbnail
  • address - use vcard:adr

RelationshipStatus

Values of relationshipStatus

  • cohabiting, divorced, married, other, separated, single, to_be_married, unspecified, widowed

UtcOffset

Values of utcOffset attribute.

OpenSocial 1.0/2.0 Classes Not Used

  • Name - use vcard:Name
    • givenName, familyName, etc.
  • Phone - use vcard:Tel
    • number
  • Address - use vcard:Address
    • streetAddress, locality, country ...
  • ActivityEntry - use Activity in ActivityStreams vocabulary (planned)
  • ActivityObject - use ActivityObject in ActivityStreams vocabulary (planned)

Person Attributes (partial)

utcOffset

The offset from UTC of this Person's current time zone, as of the time this response was returned.

  • domain: p:Person
  • value: UtdOffsetValues

Message Attributes

appUrl

Identifies the application that generated this message.

  • domain: Message
  • value: xsd:anyURI

senderId

Id of entity (person or organization) who sent the message. If this is an email message, then sender id is the sender's email address (e.g. foo@boo.com).

  • domain: Message
  • value: xsd:string

senderLabel

Human friendly name of sender. E.g. Tom Carroll vs. tcarroll@azigo.com

  • domain: Message
  • value: xsd:string

messageStatus

Status of the message. (NEW, READ, DELETED).

  • domain: Message
  • value: MessageStatusValues

timeReceived

UTC time message was received.

  • domain: Message
  • value: xsd:dateTime

timeSent

UTC time message was sent.

  • domain: Message
  • value: xsd:dateTime

title

The title of the Activity, Message or Organization. HTML attributes are allowed and are sanitized by the container.

  • domain: Message
  • value: xsd:string

OpenSocial 2.0 Message attributes not used

  • bodyId
  • collectionIds
  • inReplyTo
  • recipients
  • replies
  • titleId - The title of the message as a message template. Specifies the message ID to use in the gadget xml.
  • type
  • updated
  • urls - List of related URLs for this message. Supported URL types include 'alternate', alternate for for this mailbox (text/html being the most common).

Links

Back to the top