- From: Anthony Moretti <anthony.moretti@gmail.com>
- Date: Wed, 6 Jun 2018 21:01:03 -0700
- To: Peter Patel-Schneider <pfpschneider@gmail.com>
- Cc: Richard Wallis <richard.wallis@dataliberate.com>, public-schemaorg@w3.org
- Message-ID: <CACusdfQn-wu5+LHakGzbsr2wtvhpHeNSuk8e12top6RPcEbuzQ@mail.gmail.com>
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 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> wrote: > The short-circuiting of Role in schema.org is certainly outside of > schema.org. OWL has nothing that can do the right thing with the > following > 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 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>> wrote: > > > > OK, it appears that you are trying to produce an OWL ontology that > would > > accept schema.org <http://schema.org> documents that would accept > > unexceptional schema.org <http://schema.org> > > documents (under some loose definition of what makes an unexceptional > > 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>. (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>>> > 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>, 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> 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> 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 Thursday, 7 June 2018 04:01:42 UTC