On Fri, May 4, 2012 at 1:19 PM, Martin Atkins <m
...@degeneration.co.uk> wrote:
>[snip]
>> "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.
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.
> 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.
>> "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)
> "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?
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.
> 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.
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.
>> "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.
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 received this message because you are subscribed to the Google Groups
> "Activity Streams" group.
> To post to this group, send email to activity-streams@googlegroups.com.
> To unsubscribe from this group, send email to
> activity-streams+unsubscribe@googlegroups.com.
> For more options, visit this group at
>
http://groups.google.com/group/activity-streams?hl=en.