Message from discussion
Additional Object Types
Received: by 10.180.8.137 with SMTP id r9mr946385wia.2.1336157839073;
Fri, 04 May 2012 11:57:19 -0700 (PDT)
X-BeenThere: activity-streams@googlegroups.com
Received: by 10.216.216.207 with SMTP id g57ls2679930wep.0.gmail; Fri, 04 May
2012 11:57:16 -0700 (PDT)
Received: by 10.216.135.222 with SMTP id u72mr363542wei.3.1336157836895;
Fri, 04 May 2012 11:57:16 -0700 (PDT)
Received: by 10.216.135.222 with SMTP id u72mr363541wei.3.1336157836880;
Fri, 04 May 2012 11:57:16 -0700 (PDT)
Return-Path: <jasn...@gmail.com>
Received: from mail-we0-f178.google.com (mail-we0-f178.google.com [74.125.82.178])
by gmr-mx.google.com with ESMTPS id n4si490360wiw.0.2012.05.04.11.57.16
(version=TLSv1/SSLv3 cipher=OTHER);
Fri, 04 May 2012 11:57:16 -0700 (PDT)
Received-SPF: pass (google.com: domain of jasn...@gmail.com designates 74.125.82.178 as permitted sender) client-ip=74.125.82.178;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jasn...@gmail.com designates 74.125.82.178 as permitted sender) smtp.mail=jasn...@gmail.com; dkim=pass header...@gmail.com
Received: by wera13 with SMTP id a13so2648560wer.37
for <activity-streams@googlegroups.com>; Fri, 04 May 2012 11:57:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:from:date:message-id:subject:to:content-type;
bh=Z+k0FnqNZDUttavvqQa6CmRF8Ni8IK1MO9lGEWAJWvg=;
b=r4jCHEkMZNJiyhh6ZZrjEcb1cvUsBRXBCZjKA6SU9of77cr+jf4KVzFY2w0OwB726O
vT3SINe6xsux1xsaePb66HjIZKDWTBXt10SGTHKaWQf/fpcKxbtUPwxY6EC/g2z1urpC
pREUTsXhLkDuSNhfn9kGdS4p7elzsib/rVXnFSgpw1twMeT/qQKOJc3EyIOGshhWgjVV
Bv/QZzOQqpVhhWSM7v+j6Ng/5QQZ1fERQdIETAuLr4/KWcktkkltC6YvqLFysjdyHpHv
onMmZEmaOgKScDW/h+6rEG6ka2Mv/YC7mouCGuPt9WR4fs5YZ/wjLL6X+FI5YZYOcJ13
GcTg==
Received: by 10.216.132.202 with SMTP id o52mr4588226wei.106.1336157836740;
Fri, 04 May 2012 11:57:16 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.90.196 with HTTP; Fri, 4 May 2012 11:56:55 -0700 (PDT)
From: James M Snell <jasn...@gmail.com>
Date: Fri, 4 May 2012 11:56:55 -0700
Message-ID: <CABP7Rbc+2tR84gk2yEgx=7qGz0RGjOe+rmGwwT-fffpp9rA...@mail.gmail.com>
Subject: Additional Object Types
To: activity-streams@googlegroups.com
Content-Type: text/plain; charset=UTF-8
In addition to working on new verbs, I have been working on a number
of new common object types.... many of these are adapted from the
schema.org collection of objects... essentially, these are schema.org
objects adapted to the Activity Streams serialization and data
model...
Each of these are presented as the objectType label and a series of
additional properties specific to each. Each object type would also
inherit the basic properties for all Activity Streams objects as
defined in Section 3.4 of the JSON Activity Streams spec..
(http://activitystrea.ms/specs/json/1.0/#object)
I offer these for general review. Feedback is requested and very welcome.
"game" -- represents a game of some form
- participants (array of participants in the game)
- challenges (optional array of challenges to be met)
"challenge" -- represents a challenge
- requirements - (optional set of requirements to meet the
challenge.. specified as an array of "requirement" objects)
- awards - (optional set of awards that can be received if
challenge is met... specified as an array... can be specified, for
instance, as an array of "badge" objects that can be earned if the
challenge is met)
"rank" -- represents a ranking e.g. (first out of ten, etc)
- rank (the rank)
- total (the total number of items in the set)
- of (optional... the object being ranked)
- domain (object describing the domain of the ranking)
"requirement" -- represents a requirement of some sort
- conditions - (the minimal set of conditions necessary to meet
the requirement.. specified as an array... can be specified, for
instance, as an array of "task" objects that must be completed before
the requirement can be met.)
"process" -- represents a process of some kind
(no specific properties)
"application" -- represents a software application
(no specific properties)
"presentation" -- represents a presentation of some sort
(no specific properties)
"book" -- represents a book object
- edition (string)
- version (version object)
- format (object that identifies the format e.g.
{"id":"http://schema.org/EBook"})
- illustrator (object)
- isbn10 (string)
- isbn13 (string)
- pageCount (integer)
- about (object that identifies what the book is about)
- accountableParty (object that is legally accountable for work,
e.g. person object)
- copyrightHolder (object that holds the copyright for the work)
- copyrightYear (number.. year copyright was first asserted)
- created (date-time)
- rating (as defined in current schema doc)
- subtitle
- contentRating (object that represents content rating)
- audio (associated audio object)
- video (associated video object)
- contributor (object)
- editor (object)
- genre (object)
- provider (object)
- publisher (object)
- language (iso lang code)
"job" -- represents a job (either job posting or current job)
- baseSalary (number)
- benefits (text description of the benefits)
- postDate (date-time the job was posted)
- startDate (date-time the job was started)
- educationRequirements (text description of the educational requirements)
- employmentType (object representing employment type e.g.
{"id":"http://example.org/Full-Time"})
- experienceRequirements (text description of experience requirements)
- organization (object)
- incentives (text description of associated incentives)
- industry (object representing the associated industry)
- location (place object representing the associated location)
- occupationalCategory (object representing the occupational
category .. see http://www.onetcenter.org/taxonomy.html)
- qualifications (text description of the qualifications)
- responsibilities (text description of the responsibilities)
- salaryCurrency (ISO 4217 currency code)
- skills (text description of the skills)
- specialCommitments (array of objects representing specialized
commitments for the job e.g.
{"id":"http://example.org/VeteranCommit"})
- workHours (text description of the working hours for the job)
"movie" -- represents a movie object
- actors (object)
- director (object)
- duration (rfc3339 duration)
- musicBy (object)
- preview (media link)
- producer (object)
- productionCompany (object)
- about (object that identifies what the book is about)
- accountableParty (object that is legally accountable for work,
e.g. person object)
- copyrightHolder (object that holds the copyright for the work)
- copyrightYear (number.. year copyright was first asserted)
- created (date-time)
- rating (as defined in current schema doc)
- subtitle
- contentRating (object that represents content rating)
- audio (associated audio object)
- video (associated video object)
- contributor (object)
- editor (object)
- genre (object)
- provider (object)
- publisher (object)
- language (iso lang code)
"name" -- represents a name object
- familyName (string)
- givenName (string)
- honorificPrefix (string)
- honorificSuffix (string)
- middleName (string)
- pronunciation (string)
- pronunciationUrl (IRI)
"offer" -- represents an offer object
- availability (object representing availability... e.g.
{"id":"http://schema.org/OutOfStock"})
- condition (object representing condition... e.g.
{"id":"http://schema.org/DamagedCondition"})
- currency (string)
- item (the object being offered)
- price (string)
- restriction (object representing a restriction on the offer)
- validFrom (date-time)
- validUntil (date-time)
"recipe" -- represents a recipe...
- cookTime (duration)
- prepTime (duration)
- totalTime (duration)
- method (string... method of cooking)
- ingredients (array of ingredients with associated measurement)
e.g.
[
{"label":"Salt", "value":3, "unit":"http://example.org/Tablespoons"}
]
- nutrition
[
{"label":"Calories", "value":100, "unit":"http://example.org/Energy"},
{"label":"Carbohydrates", "value": 2,
"unit":"http://example.org/Grams"},
{"label":"Cholesterol", "value": 3,
"unit":"http://example.org/Miligrams"},
...
]
- type (object representing type..e.g. {"id":"http://example.org/Entree"})
- cuisine (object representing cuisine.. e.g.
{"id":"http://example.org/French"})
- content (used for the detailed instructions)
- serving (measurement of serving size)
{"label":"Serving", "value": 1, "unit": "http://example.org/Cup"}
- yield (measurement)
{"label":"Serves", "value":4, "unit":"http://example.org/Servings"}
"task" -- represents a task ... essentially an activity that has yet to be done
- actor (object)
- by (datetime)
- object (object)
- supersedes (array of other task objects)
- verb (string.. verb)
- required (boolean)
- prerequisites (array of other tasks to be completed first)
"tv-episode" -- represents a tv episode
- actors (object)
- aired (date-time)
- director (object)
- episodeNumber (integer)
- musicBy (object)
- preview (media link)
- producer (object)
- productionCompany (object)
- season (tv-season object)
- series (tv-series object)
- about (object that identifies what the book is about)
- accountableParty (object that is legally accountable for work,
e.g. person object)
- copyrightHolder (object that holds the copyright for the work)
- copyrightYear (number.. year copyright was first asserted)
- created (date-time)
- rating (as defined in current schema doc)
- subtitle
- contentRating (object that represents content rating)
- audio (associated audio object)
- video (associated video object)
- contributor (object)
- editor (object)
- genre (object)
- provider (object)
- publisher (object)
- language (iso lang code)
"tv-season" -- represents a tv season
- actors (object)
- director (object)
- endDate (date-time)
- episodes (collection of tv-episode objects)
- musicBy (object)
- preview (media link)
- producer (object)
- productionCompany (object)
- seriesNumber (integer)
- series (tv-series object)
- startDate (date-time)
- about (object that identifies what the book is about)
- accountableParty (object that is legally accountable for work,
e.g. person object)
- copyrightHolder (object that holds the copyright for the work)
- copyrightYear (number.. year copyright was first asserted)
- created (date-time)
- rating (as defined in current schema doc)
- subtitle
- contentRating (object that represents content rating)
- contributor (object)
- editor (object)
- genre (object)
- provider (object)
- publisher (object)
- language (iso lang code)
"tv-series" -- represents a tv series
- actors (object)
- director (object)
- endDate (date-time)
- episodes (collection of tv-episode objects)
- musicBy (object)
- preview (media link)
- producer (object)
- productionCompany (object)
- seasons (collection of tv-season objects)
- startDate (date-time)
- about (object that identifies what the book is about)
- accountableParty (object that is legally accountable for work,
e.g. person object)
- copyrightHolder (object that holds the copyright for the work)
- copyrightYear (number.. year copyright was first asserted)
- created (date-time)
- rating (as defined in current schema doc)
- subtitle
- contentRating (object that represents content rating)
- contributor (object)
- editor (object)
- genre (object)
- provider (object)
- publisher (object)
- language (iso lang code)
"version" -- represents a version of something
- activeVersion (version object)
- major (integer)
- minor (integer)
- revision (integer)
- of (object)
- previousVersion (version object)
- nextVersion (version object)
- stableVersion (version object)
- status (object describing the status of this version... e.g.
{"id":"http://example.org/Stable"})
- James