- From: Dan Scott <dan@coffeecode.net>
- Date: Fri, 7 Feb 2014 15:06:12 -0500
- To: Gregg Kellogg <gregg@greggkellogg.net>
- Cc: "Jason Johnson (BING)" <jasjoh@microsoft.com>, "public-vocabs@w3.org" <public-vocabs@w3.org>
- Message-ID: <CAJcoVMhYt4RcRtY1BTNgnjhA1tjSFt4mXq=Fe5YWOmqaJipXDw@mail.gmail.com>
On Fri, Feb 7, 2014 at 1:22 PM, Gregg Kellogg <gregg@greggkellogg.net>wrote: > On Feb 6, 2014, at 7:17 PM, Dan Scott <dan@coffeecode.net> wrote: > > On Thu, Feb 6, 2014 at 5:59 PM, Gregg Kellogg <gregg@greggkellogg.net>wrote: > > <snip> > > The teamSpecificRoles also seem a bit narrow, and people may play multiple >> roles. Roles might better be modeled with something like a "Contribution" >> class; we discussed this for the TV and Radio updates, although nothing >> much came about from it. A person may contribute to a sports team using >> multiple roles. This also allows modeling finer grained sports activities >> such as a season, series, game, period, or individual play. The roles can >> then be defined using an enumeration class similarly to sports disciplines. >> Per-sport role properties are simpler, but also suffer from the cost of >> adding them specifically to the vocabulary rather than allowing the use of >> external enumerations. >> > > This is also an issue in the latest draft of the Comics proposal that I'm > working on; once we can base it on Periodicals, most of the remaining new > properties are roles like artist, colorist, inker, letterer, penciler... > but defining all of the potential contribution roles for every other > potential domain seems like it is at best a duplicative effort of work that > has been done elsewhere.I mentioned a potential approach back in September, > and Niklas replied with an alternative ( > http://lists.w3.org/Archives/Public/public-vocabs/2013Sep/0190.html), but > the discussion fizzled out at that point. > > Thinking about it further, having a Contributor type that extends Person > by adding a "contributionType" property, which in turn points at an > external enumeration (falling back to a literal value, of course) might > suffice. For the sports context, SportsPlayer could then extend Contributor > and add in the "hasStatistics" property so that that property doesn't have > to be defined at the Person level. > > > I don't follow how a contributionType helps, as you can't relate a > Contributor's association with a SportsTeam or Event with the type of > contribution without using an intermediate object. > > So, umm... yes? Maybe we're talking past each other here. Here's what I was thinking: Person -> Contributor -> SportsPlayer Contributor: * all Person properties + * contributionType - [Text, external_enumeration] SportsPlayer: * all Contributor properties + * hasStatistics [Statistics] SportsTeam: - Instead of minting a ton of <teamSpecificRoleX> properties, offers: * hasContributor [Contributor] - so the contribution type(s) is defined on the SportsPlayer Alternately, if we wanted to separate the Person from the roles they play on any given team, it could be: Contributor -> SportsPlayer Contributor: * hasPerson [Person] * contributionType [Text, external_enumeration] SportsPlayer: * all Contributor properties + * hasStatistics [Statistics] ... where the Person is encapsulated within the Contributor/SportsPlayer types. > At the most specific level of an individual play, I modeled this using > PlayAction, which acts something like a Contributor as well, as you can > separately relate event, agent and participant. It does require another way > to describe the kind of play, but this could presumably be done with an > additionalType and an enumeration object. Using ExcerciseAction provides > more useful properties, but the name's not really appropriate for this. > Perhaps if something like SportingAction were introduced between PlayAction > and ExerciseAction having most of the properties from ExerciseAction, this > would solve the problem. We could then add a sportsPlayType to reference an > entity describing the type of play, also falling back to a literal. For > example, "hit", "goal", "fumble", ... > > Perhaps it's worthwhile taking another kick at this? As Aaron Bradley has > mentioned (https://plus.google.com/106943062990152739506/posts/VTdFR5R2PMs) > if we go with external enumerations, providing some clear direction on > which enumerations are acceptable will be important to implementers (I > think the use of GoodRelations / ProductOntology for external enumerations > set a nice example here). As for which external enumerations to use, I'm > open to suggestions; the LC relators ( > http://id.loc.gov/vocabulary/relators.html) offer a decent start, but > while they hit some of the radio, TV, and movie roles, they're certainly > not exhaustive; they don't cover all of the roles in the Comics realm; and > they don't even touch the sports realm. > > > External enumerations should really be used more than schema-specific > types for things like this, as it removes unnecessary central control for > such concepts. > I believe we're in violent agreement on this point (along with many others). The questions are: which external enumerations do we use, and how do we surface those in a friendly guiding manner to practitioners? Dan
Received on Friday, 7 February 2014 20:07:00 UTC