Re: Schema.org and OWL

CourseInstance is an Event. Course is not.  A Course is what may be offered several times a year, and/or for several years and/or at different campuses and/or at different times; e.g. a course offered for full time students on Thurs at 10am and for part time students on Mondays at 7pm as two course instances.

⁣Sent from TypeApp ​

On 10 Jun 2018, 08:40, at 08:40, Anthony Moretti <anthony.moretti@gmail.com> 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:
>
>   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> wrote:
>
>> Yes, many Roles in 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> 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>> wrote:
>> >
>> >     The short-circuiting of Role in schema.org <http://schema.org>
>is
>> >     certainly outside of
>> >     schema.org <http://schema.org>.   OWL has nothing that can do
>the
>> right
>> >     thing with the following
>> >     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>
>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>>>
>> wrote:
>> >     >
>> >     >     OK, it appears that you are trying to produce an OWL
>ontology
>> that
>> >     would
>> >     >     accept schema.org <http://schema.org> <http://schema.org>
>> >     documents that would accept
>> >     >     unexceptional 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>
>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>.   (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>>>>
>> 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>, 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> 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> 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 Monday, 11 June 2018 07:45:46 UTC