Re: Schema.org and OWL

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