- From: Dan Brickley <danbri@google.com>
- Date: Sun, 10 Jun 2018 11:37:44 -0700
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
- Cc: Anthony Moretti <anthony.moretti@gmail.com>, Richard Wallis <richard.wallis@dataliberate.com>, public-schemaorg@w3.org
- Message-ID: <CAK-qy=7yChH-yLLvBrtnEEPyqHNv=j6psR-_sKPnXGzeVk0CEQ@mail.gmail.com>
Yeah, we decided against cramming Actions under Event a long time ago, even if it has a certain appeal; I' d say same goes for the other event-ish types. On Sun, 10 Jun 2018, 11:24 Peter F. Patel-Schneider, <pfpschneider@gmail.com> wrote: > It's very difficult to determine what things are instance of schema.org > Event > because the guidance is so slim, particularly as we are not supposed to > take > into account most of the information on http://schema.org/Event. My > view is > that even if we are supposed to ignore everything after "certain time and > location", then schema.org Event should be read narrowly, excluding things > that don't have a certain time or don't have a certain location. This > would > rule out Action, ParcelDelivery (as the entire delivery process), and > Trip, as > these generally take place over several locations. Offer is ruled out > because it often doesn't have a location at all and its temporal > information > doesn't have to do with its "happening". Course is also ruled out because > it > is more than a sequence of lectures. > > > One could take an expansive view of schema.org Event, perhaps saying that > its > instances are anything that has a temporal component and a spatial > component. So Bill Murray is an instance of schema.org Event via his > birth > date and his location on Earth, as is his membership in the cast of > Ghostbusters. But then what things aren't instances of Event (besides > platonic entities like 3, if you assume that there are any truly platonic > entities)? > > > Is there a middle ground? Formal ontologists have attempted to create > one---dividing the universe into endurants and perdurants. But I don't see > that schema.org Event is getting at the meaning of perdurant. > > > peter > > > > > On 06/10/2018 12:32 AM, Anthony Moretti wrote: > > Let's get the easy ones out of the way before looking at Roles. The > > following are obviously subtypes of event, I might create an issue on > GitHub > > to get more feedback: > > > > Event > > > > Action > > > > Course > > > > Offer > > > > ParcelDelivery > > > > Trip > > > > > > I'll argue for Role now. In my view, it would be easier to understand if > the > > terminology was Relation, or Relationship, rather than Role. > > > > An event is either: > > > > * A period of time (e.g. Jun 9, 2018, 12 PM - 1 PM) > > * The period of time that a statement, explicit or implicit, is true > (e.g. > > My run this morning = Anthony isRunning True) > > > > To be clear, having the same statement exist with different periods of > > validity can still be consistent: > > > > * Anthony isRunning True (Jun 9, 2018, 12 PM - 1 PM) > > * Anthony isRunning True (Jun 8, 2018, 12 PM - 1 PM) > > > > If you look at temporal databases > > <https://en.wikipedia.org/wiki/Temporal_database> every fact has a valid > > time <https://en.wikipedia.org/wiki/Valid_time> - the time period during > > which the fact is true. Therefore if you reify any fact or relationship > you > > produce something with start or end times, therefore producing an event. > > > > In schema.org <http://schema.org>: > > > > 1. All Roles are reified relationships. > > 2. Therefore all Roles have "valid times". > > 3. Therefore all Roles have start or end times. > > 4. Therefore all Roles are events. > > > > If the terminology was updated it would look like: > > > > Event > > > > Relationship, or Relation (currently Role) > > > > > > Regarding Bill Murray, what is being modeled if not the fact that Bill > > Murray was involved as an actor during its filming, and so for a period > of time? > > > > And yep, I agree that you can define an entity and separately define an > > event that represents its period of existence. But you can't do that for > an > > event, and in like fashion you can't do that for a statement either, it > just > > wouldn't make sense for either right? > > > > Anthony > > > > > > On Sat, Jun 9, 2018 at 6:52 PM Peter F. Patel-Schneider > > <pfpschneider@gmail.com <mailto:pfpschneider@gmail.com>> wrote: > > > > Yes, many Roles in schema.org <http://schema.org> are events, and > could > > be so modelled. But not > > all, in my opinion, or at least not usefully. > > > > > > For example the relationship between Bill Murray and Ghostbusters is > not an > > event. It was, perhaps, initiated by a bunch of events, namely a > > sequence of > > acting performances that were captured and edited together to form > the > > movie. > > However, that bunch of events is not the relationship being > modelled. > > > > > > It's just like one might model people as their lives, i.e., an event > that > > plays out (roughly) from conception to death. But I find it useful > to > > distinguish between a person and their life event. > > > > > > peter > > > > > > > > On 06/06/2018 09:01 PM, Anthony Moretti wrote: > > > I agree that the first problem to do with strings can be solved by > boxing > > > them into anonymous individuals. On the second problem to do with > Roles I > > > agree that you can't do a simple "subjectOf" transform because > Role is not > > > in the domain of "about", but maybe defining a new property such as > > > "participantIn" (domain Thing, range Role) and using it wherever a > Role is > > > the object of a statement might keep about the same level of > meaning (not > > > very good) but at least make it consistent OWL? So your example > would be > > > transformed to: > > > > > > DJT : Person > > > > > > participantIn ? : Role > > > > > > spouse MM : Person > > > > > > startDate : 1993 > > > > > > endDate : 1999 > > > > > > participantIn ? : Role > > > > > > spouse IT : Person > > > > > > startDate : 1977 > > > > > > endDate : 1992 > > > > > > > > > A more general solution using guidance > > > from https://www.w3.org/TR/swbp-n-aryRelations/ and with better > meaning > > > might be: > > > > > > DJT : Person > > > > > > isSpouseFor ? : MarriageRelation > > > > > > spouse DJT : Person > > > > > > spouse MM : Person > > > > > > startDate : 1993 > > > > > > endDate : 1999 > > > > > > isSpouseFor ? : MarriageRelation > > > > > > spouse DJT : Person > > > > > > spouse IT : Person > > > > > > startDate : 1977 > > > > > > endDate : 1992 > > > > > > > > > Your question about movie roles is also solved by this, for > example: > > > > > > Bill Murray : Person > > > > > > isActorFor ? : PerformanceRelation > > > > > > actor Bill Murray : Person > > > > > > movie Ghostbusters : Movie > > > > > > characterName : Dr. Peter Venkman > > > > > > startDate : 1983 > > > > > > endDate : 1984 > > > > > > > > > Class hierarchy: > > > > > > Event > > > > > > Relation > > > > > > MarriageRelation > > > > > > PerformanceRelation > > > > > > > > > I think confusion might come from the many English meanings of > "role": > > > > > > Type of role, e.g. Quarterback - no start or end dates. > > > Instance of a role, e.g. 49ers quarterback 1979-1992 - > potential start > > > and end dates. > > > Character, e.g. Hamlet - no start or end dates. > > > > > > > > > So I'm still lead to believe that Role/Relation and several other > types in > > > schema.org <http://schema.org> <http://schema.org> are subtypes of > > Event because their instances > > > always have potential start and end dates: > > > > > > Event > > > > > > Action > > > > > > Course > > > > > > Role/Relation > > > > > > Offer > > > > > > ParcelDelivery > > > > > > Trip > > > > > > > > > Anybody else think this too? I'm a bit new to this so hope I'm not > putting > > > something too strange out there! > > > > > > Anthony > > > > > > > > > On Wed, Jun 6, 2018 at 3:20 PM Peter F. Patel-Schneider > > > <pfpschneider@gmail.com <mailto:pfpschneider@gmail.com> > > <mailto:pfpschneider@gmail.com <mailto:pfpschneider@gmail.com>>> > wrote: > > > > > > The short-circuiting of Role in schema.org <http://schema.org> > > <http://schema.org> is > > > certainly outside of > > > schema.org <http://schema.org> <http://schema.org>. OWL has > > nothing that can do the right > > > thing with the following > > > schema.org <http://schema.org> <http://schema.org> data > > > > > > DJT : Person > > > spouse ? : Role > > > spouse MM : Person > > > startDate : 1991 > > > endDate : 1999 > > > spouse ? : Role > > > spouse IT : Person > > > startDate : 1977 > > > endDate: 1992 > > > spouse MT : Person > > > particularly in conjunction with > > > spouse > > > domain Person > > > range Person > > > > > > Except that you could turn *all* property values (except maybe > for > > those > > > properties that are guaranteed never to have a Role > intermediary) into > > > events > > > *before* they got to OWL. This would look something like: > > > > > > DJT : Person > > > spouseEvent ? : SpouseEvent > > > spouse MM : Person > > > startDate : 1991 > > > endDate : 1999 > > > spouseEvent ? : SpouseEvent > > > spouse IT : Person > > > startDate : 1997 > > > endDate : 1992 > > > spouseEvent ? : SpouseEvent > > > spouse MT : Person > > > spouse range Person > > > domain SpouseEvent > > > spouseEvent range SpouseEvent > > > domain Person > > > SpouseEvent sub Event > > > startDate range Date > > > endDate range Date > > > > > > Hah! That turned out better than I thought it would, but I > view the > > > need for > > > the transform as showing that schema.org <http://schema.org> > > <http://schema.org> Role is > > > outside the purview of OWL > > > because it requires major surgery to the underlying ontology > (as > > opposed > > > to a > > > transform to handle "strings as things" that just replaces such > > strings > > > with a > > > blank node connected to the string by some sort of description > > property > > > which > > > doesn't require such surgery). > > > > > > And then what do you do about movie roles? They shouldn't > have start > > > and end > > > dates, or even have the possibility of start and end dates. > > > > > > peter > > > > > > > > > > > > On 06/06/2018 02:50 PM, Anthony Moretti wrote: > > > > Peter, when you say "roles fall outside the purview of OWL" > is > > it possible > > > > that Role should be a subtype of Event, thus requiring no > special > > > treatment? > > > > I say that because individual roles have potential start and > end > > dates. > > > > > > > > If you continue that thinking you end up with several types > that > > might be > > > > considered subtypes of Event: > > > > > > > > Event > > > > > > > > Action > > > > Course > > > > Role > > > > Offer > > > > Parcel delivery > > > > Trip > > > > > > > > > > > > Anthony > > > > > > > > On Wed, Jun 6, 2018 at 7:42 AM Peter F. Patel-Schneider > > > > <pfpschneider@gmail.com <mailto:pfpschneider@gmail.com> > > <mailto:pfpschneider@gmail.com <mailto:pfpschneider@gmail.com>> > > > <mailto:pfpschneider@gmail.com <mailto:pfpschneider@gmail.com> > > <mailto:pfpschneider@gmail.com <mailto:pfpschneider@gmail.com>>>> > wrote: > > > > > > > > OK, it appears that you are trying to produce an OWL > > ontology that > > > would > > > > accept schema.org <http://schema.org> <http://schema.org > > > > <http://schema.org> > > > documents that would accept > > > > unexceptional schema.org <http://schema.org> > > <http://schema.org> <http://schema.org> > > > > documents (under some loose definition of what makes an > > unexceptional > > > > schema.org <http://schema.org> <http://schema.org> > > <http://schema.org> document). > > > > > > > > > > > > But you are running up against problems with "strings as > > things" and > > > > Roles. > > > > > > > > > > > > Look at about and subjectOf. Any use of a string as a > > value for > > > about is > > > > going to make that string an instance of two OWL Classes > > (the range of > > > > about, > > > > which includes Text, and the domain of subjectOf, which > > doesn't). > > > This > > > > is not > > > > permissible in OWL. > > > > > > > > > > > > Using a role as a value for subjectOf will make the role > node an > > > instance of > > > > the domain of about, which doesn't include Role. Roles > fall > > > outside the > > > > purview of OWL. > > > > > > > > > > > > What I think has to be done for "strings as things" is to > > > preprocess them as > > > > an anonymous node with the string as the value of some > > description > > > > property. > > > > Roles need to be short-circuited and the role values > > eliminated. > > > If the > > > > role > > > > values are to be retained then some sort of fancy > > reification has > > > to be > > > > introduced. > > > > > > > > > > > > But a lot of this is guesswork, as it is unclear just > what > > "strings as > > > > things" > > > > and Roles mean in schema.org <http://schema.org> > > <http://schema.org> > > > <http://schema.org>. (I haven't looked > > > > closely at the use of URLs > > > > as stand-ins for objects but my guess is that that is > similar to > > > "strings as > > > > things".) > > > > > > > > > > > > > > > > OWL makes a distinction between object and data values, > and this > > > distinction > > > > has to be carried through to the ontology, where there > are > > classes and > > > > datatypes. As far as I can tell Text should be a > datatype. > > > > > > > > > > > > > > > > > > > > peter > > > > > > > > > > > > > > > > On 06/06/2018 07:09 AM, Richard Wallis wrote: > > > > > Just the fresh pair of experienced eyes I needed! - > Thanks > > @Thomas > > > > > > > > > > @Danbri - not “wasting a lot of time agonising", in > simple > > terms > > > I’m just > > > > > [selfishly] trying to get a useful version to load > > into Protégé and > > > > > hopefully helping a few others at the same time. > > > > > > > > > > @Peter thanks for your thoughtful questions. As you > can see > > > from the > > > > above > > > > > the prime simple objective is to get it visible > > in Protégé. Beyond > > > > that, it > > > > > is to capture the class and property hierarchy of > Schema.org > > > including > > > > > the multiple domain/ranges of properties defined [In > > Schema.org] > > > using > > > > > domainIncludes & rangeIncludes, in a way that a tool > > > like Protégé can cope > > > > > with. As for ranges, it includes the assumption that > > properties, in > > > > > addition to the defined range(s), also have Text, URL, > and > > Role > > > > included in > > > > > their range. > > > > > > > > > > Once I’ve done it, I want to add the simple generating > code to > > > the Schema > > > > > scripts run at release time so that it can be kept up > to date. > > > > > > > > > > > > > > > ~Richard. > > > > > > > > > > Richard Wallis > > > > > Founder, Data Liberate > > > > > http://dataliberate.com > > > > > Linkedin: http://www.linkedin.com/in/richardwallis > > > > > Twitter: @rjw > > > > > > > > > > On 6 June 2018 at 14:45, Peter F. Patel-Schneider > > > > <pfpschneider@gmail.com <mailto:pfpschneider@gmail.com> > > <mailto:pfpschneider@gmail.com <mailto:pfpschneider@gmail.com>> > > > <mailto:pfpschneider@gmail.com <mailto:pfpschneider@gmail.com> > > <mailto:pfpschneider@gmail.com <mailto:pfpschneider@gmail.com>>> > > > > > <mailto:pfpschneider@gmail.com > > <mailto:pfpschneider@gmail.com> <mailto:pfpschneider@gmail.com > > <mailto:pfpschneider@gmail.com>> > > > <mailto:pfpschneider@gmail.com <mailto:pfpschneider@gmail.com> > > <mailto:pfpschneider@gmail.com <mailto:pfpschneider@gmail.com>>>>> > wrote: > > > > > > > > > > It's hard to say much about the file without > knowing > > what it is > > > > supposed to > > > > > capture. > > > > > > > > > > > > > > > It is supposed to capture the class and property > > hierarchy and > > > > property > > > > > restrictions or schema.org <http://schema.org> > > <http://schema.org> > > > <http://schema.org> > > > > <http://schema.org>, but not necessarily in a > > > > > form compatible with RDFS > > > > > or OWL? > > > > > > > > > > > > > > > Is it supposed to faithfully encode the model > theory of > > > schema.org <http://schema.org> <http://schema.org> > > > > <http://schema.org> > > > > > <http://schema.org> in OWL? > > > > > If so, where is the document for this theory? > > > > > > > > > > > > > > > Is it supposed to capture "strings as things" or > Roles? > > > > > > > > > > > > > > > How does it view property domains and ranges? As > > axioms? > > > As strict > > > > > constraints? As soft constraints? > > > > > > > > > > > > > > > I would also move from rdf/xml to turtle, which is > > easier to > > > write and > > > > > easier > > > > > to read. > > > > > > > > > > > > > > > peter > > > > > > > > > > > > > > > > > > > > On 06/06/2018 05:05 AM, Richard Wallis wrote: > > > > > > Calling folks with more OWL experience than me! > > > > > > > > > > > > The schema.org <http://schema.org> > > <http://schema.org> <http://schema.org> > > > <http://schema.org> > > > > <http://schema.org> site has an OWL > > > > > definition file that has > > > > > > not been maintained since April > > > > 2014: http://schema.org/docs/schemaorg.owl > > > > <http://schema.org/docs/schemaorg.owl>. > > > > > > Also the structure and syntax of the file needs > some > > > attention. > > > > > > > > > > > > To help with the occasional questions about > accessing > > > processable > > > > > > representations of the vocabulary; to attempt to > > close an > > > issue > > > > (#1611 > > > > > > < > https://github.com/schemaorg/schemaorg/issues/1611 > > > > > > > <https://github.com/schemaorg/schemaorg/issues/1611>>); and to > > > > help with a > > > > > > personal project, I have had a look at producing > an > > up to > > > date, > > > > improved, > > > > > > maintainable version of the file. > > > > > > > > > > > > My first attempt can be downloaded/viewed > > > > > > > > > here: > https://s3.amazonaws.com/rjwPublicData/public/schemaorg.owl > > > > > > > <https://s3.amazonaws.com/rjwPublicData/public/schemaorg.owl> > > > > > > > > > > > > I am looking for comments, suggestions, and help > > around a few > > > > aspects of > > > > > > this work in progress: > > > > > > > > > > > > * Is it generally ‘a good owl file’ > > > > > > > > > > > > * Should it contain more/less info about > > the vocabulary and > > > > its terms > > > > > > > > > > > > * Specifically with reference to > domainIncludes and > > > rangeInclude - > > > > > mapped > > > > > > to rdfs:domain & rdfs:range with > > owl:unionOfcollections: > > > > > > > > > > > > o Is this the best/only way to represent > multiple > > > domain & > > > > > ranges for > > > > > > an objectproperty? > > > > > > > > > > > > o Have I got the syntax correct? > > > > > > > > > > > > * Several people use Protégé > > > <https://protege.stanford.edu/> as a > > > > > tool for > > > > > > this kind of effort - I am trying to identify > > what syntax, > > > > will enable > > > > > > this tool to recognise the multiple > > domain/ranges when > > > importing > > > > > this file. > > > > > > > > > > > > If anyone out there with more OWL experience > than me > > (not > > > > difficult), > > > > > could > > > > > > spend a few minutes taking a look at this and > > commenting, it > > > > would be > > > > > > greatly appreciated. > > > > > > > > > > > > ~Richard > > > > > > > > > > > > Richard Wallis > > > > > > Founder, Data Liberate > > > > > > http://dataliberate.com > > > > > > Linkedin: > http://www.linkedin.com/in/richardwallis > > > > > <http://www.linkedin.com/in/richardwallis> > > > > > > Twitter: @rjw > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
Received on Sunday, 10 June 2018 18:38:27 UTC