Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Additional Object Types
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  3 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
James M Snell  
View profile  
 More options May 4 2012, 2:56 pm
From: James M Snell <jasn...@gmail.com>
Date: Fri, 4 May 2012 11:56:55 -0700
Local: Fri, May 4 2012 2:56 pm
Subject: Additional Object Types
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
    -
...

read more »


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Atkins  
View profile  
 More options May 4 2012, 4:19 pm
From: Martin Atkins <m...@degeneration.co.uk>
Date: Fri, 04 May 2012 13:19:18 -0700
Local: Fri, May 4 2012 4:19 pm
Subject: Re: Additional Object Types
On 05/04/2012 11:56 AM, James M Snell wrote:

> I offer these for general review. Feedback is requested and very welcome.

Assorted feedback is below.

> "game" -- represents a game of some form
>      - participants (array of participants in the game)
>      - challenges (optional array of challenges to be met)

Do we need to represent the subtlety between (for example) the general
game of Tennis and a particular tennis match?

For example:
* I like tennis.
* I want to play tennis but I don't know yet who I want to play with.
* I played a game of tennis with Monica.
* I lost a game of tennis with Monica.

Perhaps this is just a matter of how you use it... the general game
doesn't have participants but a particular match does.

> "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)

I think I need an example of this one to understand how it's used. I get
the general idea of a rank out of N but I'm not sure how this is
different than the "rating" property we defined on review, and what
sorts of things you'd expect to see in "of" and "domain".

> "application" -- represents a software application
>      (no specific properties)

Is a computer game a game or is it an application? Or is it both
depending on context.

For example:
* I played Doom
* I won Doom
* I added Doom to my Facebook account.

I think this object type has more properties than anything we've ever
defined before. Are books really more complicated than everything else
or is this property overkill?

At the very least I wonder if at least some of these could be defined in
such a way as to be generally applicable to more than just this object
type. For example, "about", "copyrightHolder", "copyrightYear",
"subtitle", "audio", "video", "contributor", "editor", "genre",
"provider", "publisher" and "language".

I notice some of these are also on "movie" etc below, so I'm sure you've
already thought about this. The object component registry isn't
currently object-type-specific anyway so it's really just a matter of
crafting the definition to be generic enough to apply in a broad set of
cases.

"postDate" seems to overlap with "published" on the base object type.

Again I worry that this is might be detail overkill. Surely at least
some of these properties could be represented just in a human-readable
way in the body of the job posting?

In particular, separating incentives, education requirements,
responsibilities, skills and special commitments into separate
properties, some of which are objects in their own right, seems a little
unnecessary and inconsistent with how job postings generally work.

> "name" -- represents a name object
>      - familyName (string)
>      - givenName (string)
>      - honorificPrefix (string)
>      - honorificSuffix (string)
>      - middleName (string)
>      - pronunciation (string)
>      - pronunciationUrl (IRI)

What verbs do you expect would be used along with this object type? It
seems a bit weird to think of a name as an object in its own right,
rather than just being a set of properties on a person.

> "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"})

I'm a little confused about this one... it looks like this object
represents both a single version and also a set of versions at the same
time.

In particular, I don't understand why activeVersion and stableVersion
are properties of version and not instead a property of the object that
is versioned.

The terminology is a little confusing too. This thing is really "version
information", not "a version"; a version of a book is represented by a
book object that has version information, not by a version object.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
James M Snell  
View profile  
 More options May 4 2012, 4:55 pm
From: James M Snell <jasn...@gmail.com>
Date: Fri, 4 May 2012 13:55:03 -0700
Local: Fri, May 4 2012 4:55 pm
Subject: Re: Additional Object Types

I believe we can leave it up to the specific context in which it's
being used. The "challenges" and "participants" properties are an open
question as to whether they would be generally useful or whether we
should just define the "game" object type and leave it at that for
now...

>> "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)

> I think I need an example of this one to understand how it's used. I get the
> general idea of a rank out of N but I'm not sure how this is different than
> the "rating" property we defined on review, and what sorts of things you'd
> expect to see in "of" and "domain".

For example, consider the statement "James won first place out of
twelve in the race" ... this would be represented as:

  {
    "actor": {"displayName":"James"},
    "verb": "receive",
    "object": {
      "objectType": "rank",
      "rank": 1,
      "total": 12,
      "domain": {
        "objectType": "game",
        "displayName": "The Big Race"
      }
    }
  }

The "of" property is likely misnamed... it is intended to identify the
thing that has been ranked. For instance, consider the statement, "The
committee posted a new consumer satisfaction ranking for the product"
...

  {
    "actor": {
      "displayName": "The Committee"
    },
    "verb": "post",
    "object": {
      "objectType": "rank",
      "rank": 5,
      "total": 100,
      "of": {
        "objectType": "product",
        "displayName": "My Great Product"
      },
      "domain": {
        "objectType": "collection",
        "displayName": "Consumer Satisfaction Survey",
        "memberTypes": ["product"]
      }
    }
  }

>> "application" -- represents a software application
>>     (no specific properties)

> Is a computer game a game or is it an application? Or is it both depending
> on context.

> For example:
> * I played Doom
> * I won Doom
> * I added Doom to my Facebook account.

Both, depending on context. Consider... "I installed 'Draw Something'
on my phone" and "I played 'Draw Something'"

>> "book" -- represents a book object
>>     - edition (string)
>> [snip]
>>     - publisher (object)
>>     - language (iso lang code)

> I think this object type has more properties than anything we've ever
> defined before. Are books really more complicated than everything else or is
> this property overkill?

Quite possibly, yes. This is mainly why I wanted to socialize this
particular item. I've been considering drafting up a document that
describes the domain specific of Activity Streams with Creative Works.
If you look at the Schema.org definition of creative works, you'll
notice that they define most of these as abstract properties shared
and inherited by many different types of objects. A document that
defines activity stream objects for creative works can follow the same
basic model.

Yeah, I have no problem paring these back a bit ... even possibly
simply defining the basic objectType but leaving the specific
properties empty for now... allowing the detail to be filled in by
domain specific implementations.

It is somewhat limited, but consider the statement, "Sally Jones
changed her name to Sally Smith". I'm not 100% sold on this one, but I
have seen the case come up and wanted to at least surface it for
discussion.

The object itself represents information about a single version but
can contain links to other related versions. However, those particular
properties can be pulled back out easily... they are not critical to
the use case by any means.

> In particular, I don't understand why activeVersion and stableVersion are
> properties of version and not instead a property of the object that is
> versioned.

> The terminology is a little confusing too. This thing is really "version
> information", not "a version"; a version of a book is represented by a book
> object that has version information, not by a version object.

I used "version" because it's shorter than "version-information" ;-)
.. but you're right.

- James


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »