- From: Anthony Moretti <anthony.moretti@gmail.com>
- Date: Wed, 13 Jun 2018 14:09:03 -0700
- To: Sebastian Samaruga <ssamarug@gmail.com>
- Cc: Simon Cox <Simon.Cox@csiro.au>, Dan Brickley <danbri@google.com>, Peter Patel-Schneider <pfpschneider@gmail.com>, Richard Wallis <richard.wallis@dataliberate.com>, semantic-web@w3.org, public-schemaorg@w3.org
- Message-ID: <CACusdfRJmKEcB0VbngTb6Z_6i9wkRg=u5NATmVtmyf-C+2Wz+w@mail.gmail.com>
I took a closer look at the use of "Specification" and I now see that it's
only used to mean "Type" in one place in the schema -
PropertyValueSpecification, the other eight times it's used to refer to a
StructuredValue, so the generalization I made in my last message was wrong,
I'm sorry.
I tried to see where naming conventions might create more naming
consistency and I'm wondering what people think about these ideas?
- For *StructuredValue types*: "Specification", or alternatively
"Description", should either be removed or added to all. (My own
preference is added.)
- For *Enumeration types*: "Type" should either be removed or added to
all. (My own preference is removed.)
I then looked for more cases where appending "Type" to names of
types-of-types might create consistency:
*CourseType* (currently Course)
*Course *(currently CourseInstance)
*ProductType *(currently ProductModel, subtype of Product)
*Product*
IndividualProduct (suggest removing)
*PropertyValueType* (currently PropertyValueSpecification)
*PropertyValue*
*AudienceType (currently Audience)DishOrDrinkType (currently
MenuItem)QuantityType (currently Quantity)*
*RoomType (currently BedDetails)*
I think I now understand the opposition to making Offer etc. a subtype of
Event. So my only proposals regarding Event/Intangible are:
*Event*
* DeliveryEvent*
* ParcelDeliveryEvent *(currently ParcelDelivery, subtype of
Intangible)
*Trip *(currently subtype of Intangible)
Any feedback on these ideas would be awesome!
Anthony
On Tue, Jun 12, 2018 at 12:17 PM Anthony Moretti <anthony.moretti@gmail.com>
wrote:
> I admit I didn't see CourseInstance under Event. I still have an issue
> with the naming though because as it stands we have "instances of Courses"
> and "instances of CourseInstances":
>
> *Course*
> Stanford CS101 (Course instance)
>
> *Event*
>
> *CourseInstance*
> *StanfordCS101*
> Stanford CS101 2018-19 (CourseInstance instance)
>
>
> It comes down to how to name things when types are also desirable as
> instances. A couple of strategies already in use in Schema are to append
> "Specification" or "Model" to the type name. So this might work for courses:
>
> *CourseSpecification*
> Stanford CS101
>
> *Event*
>
> *Course*
> *StanfordCS101*
> Stanford CS101 2018-19
>
>
> The same could be done for Offer:
>
> *OfferSpecification*
> Macy's 50% Black Friday sale
>
> *Event*
>
> *Offer*
> Macy's 50% Black Friday sale 2018
>
>
> Likewise, ProductModel ideally shouldn't be a subtype of Product (I think
> the reasoning about reuse of properties such as "weight" is flawed). It'd
> make more sense to follow the same pattern as the previous examples:
>
> *ProductModel*
> iPhone X
>
> *Product*
>
> iPhone X (serial number 12345678)
>
>
> And IndividualProduct would be removed entirely because of redundancy with
> Product. I think that when looking at type names, inclusion of
> "Individual", "Instance", or "Occurrence" are signs of potential naming or
> structural issues.
>
> In my view we could possibly also have a consistent and simple naming
> convention by using "Type", instead of "Specification" or "Model" for
> example, in all places where types are instances, so:
>
> *CourseType*
>
> *OfferType*
>
> *ProductType*
>
>
> (It even scales in the rare situations you need to model types of types
> and so on: TypeType, TypeTypeType...)
>
> On the separate topic of Events, Peter and Simon brought up endurants and
> perdurants - what about schema:Event is insufficient to cover all
> perdurants? I'm not saying we should add all types of perdurants to Event,
> that's not the intention of Schema, but why can't types we already have,
> like Trip, be moved from Intangible and put under Event? Why is a Festival
> an Event but a Trip not?
>
> Anthony
>
> On Tue, Jun 12, 2018 at 8:43 AM Sebastian Samaruga <ssamarug@gmail.com>
> wrote:
>
>> I've just uploaded PDF versions of the files so you can preview them in
>> browser instead of downloading them. Thanks!
>>
>> On Mon, Jun 11, 2018, 9:32 PM <Simon.Cox@csiro.au> wrote:
>>
>>> Hey Sebastian –
>>>
>>>
>>>
>>> If you are using GitHub for blogging, then I suggest you write in
>>> Markdown, rather than attaching .docx.
>>>
>>> That way we can read your musings directly instead of having to
>>> download.
>>>
>>>
>>>
>>> *From:* Sebastian Samaruga [mailto:ssamarug@gmail.com]
>>> *Sent:* Tuesday, 12 June, 2018 10:22
>>> *To:* Cox, Simon (L&W, Clayton) <Simon.Cox@csiro.au>
>>> *Cc:* Anthony Moretti <anthony.moretti@gmail.com>; Dan Brickley <
>>> danbri@google.com>; Peter F. Patel-Schneider <pfpschneider@gmail.com>;
>>> Richard Wallis <richard.wallis@dataliberate.com>;
>>> public-schemaorg@w3.org; W3C Semantic Web IG <semantic-web@w3.org>;
>>> public-rww <public-rww@w3.org>
>>> *Subject:* Re: Schema.org and OWL
>>>
>>>
>>>
>>> I don't know if this really deserves attention in this context. I can't
>>> stop trying to figure out how to solve issues as such in this thread but
>>> also a more general way of using RDF (Quads) to solve other kind of
>>> mediation / alignment issues in a distributed manner.
>>>
>>>
>>>
>>> As I go along I'm dumping my thoughts in an ideas scrapbook manner. As
>>> long as I'll be able to put them into readable documents format I'll be
>>> publishing them in raw form, just for the case I'm missing something.
>>>
>>>
>>>
>>> https://github.com/ssamarug/ssamarug
>>>
>>>
>>>
>>> http://exampledotorg.blogspot.com
>>>
>>>
>>>
>>> (warning: these are just raw statements of concepts or ideas. I don't
>>> currently have time to put them in an orderly fashion, the purpose is
>>> solely to have them somewhere in the hope of having a chance to collaborate
>>> into developing them further).
>>>
>>>
>>>
>>> Best,
>>>
>>> Sebastian.
>>>
>>>
>>>
>>>
>>>
>>> On Mon, Jun 11, 2018, 1:30 PM Sebastian Samaruga <ssamarug@gmail.com>
>>> wrote:
>>>
>>> In the realm of upper ontologies I think ISO-15926 [1] handles this sort
>>> of issues nicely (that's why I'm copying this thread to semantic-web) but
>>> it is a whole of an upper ontology and didn't have the time to understand
>>> it completely.
>>>
>>>
>>>
>>> For what is whorth for me, I'm trying to adapt an object-oriented design
>>> pattern (DCI: Data, Context and Interactions [2]) to the realm of RDF Quads
>>> metamodels. There I regard of dimensionally aggregated data (D) for which
>>> schema occurrences (C) play roles in behaviors instances / flows (I).
>>>
>>>
>>>
>>> I'm working in a formal description of the later, and I've also posted
>>> previously some blurry early drafts. I also have a strong focus in ontology
>>> alignments / translations so the use case could fit for generating other
>>> schema documents. Regards,
>>>
>>> Sebastián.
>>>
>>>
>>>
>>> [1] https://en.m.wikipedia.org/wiki/ISO_15926
>>>
>>>
>>>
>>> [2] https://en.m.wikipedia.org/wiki/Data,_context_and_interaction
>>>
>>>
>>>
>>>
>>>
>>> On Mon, Jun 11, 2018, 5:23 AM <Simon.Cox@csiro.au> wrote:
>>>
>>> My read of all this is that
>>>
>>>
>>>
>>> schema.org:Event subClassOf natural-language:Event .
>>>
>>>
>>>
>>> You need to recognize that the name of the concept in schema.org is
>>> more specialized that the use of the word 'Event' in all English-language
>>> usages.
>>>
>>>
>>>
>>> The upper-ontologies resolve this by using a more technical word - like
>>> occurrent or perdurant - which includes all time-bounded things including
>>> both planned events, unplanned incidents, things that move around, as well
>>> as other kinds of interactions. But even these attempts to define
>>> universals must be taken with a pinch of salt. Classification is contextual
>>> - the 'same thing' may be classified differently in different applications.
>>> The main application of schema.org is SEO, so the classification system
>>> is tuned to that.
>>>
>>>
>>>
>>>
>>>
>>> *Simon J D Cox*
>>> Research Scientist
>>> Land and Water
>>> <http://www.csiro.au/Organisation-Structure/Flagships/Land-and-Water>
>>> CSIRO
>>>
>>> E simon.cox@csiro.au *T* +61 3 9545 2365 *M* +61 403 302 672
>>> * Physical: *Reception Central, Bayview Avenue, Clayton, Vic 3168
>>> * Deliveries: *Gate 3, Normanby Road, Clayton, Vic 3168
>>> *Postal:* Private Bag 10, Clayton South, Vic 3169
>>> people.csiro.au/C/S/Simon-Cox
>>> orcid.org/0000-0002-3884-3420
>>> researchgate.net/profile/Simon_Cox3
>>> <https://www.researchgate.net/profile/Simon_Cox3>
>>> ------------------------------
>>>
>>> *From:* Anthony Moretti <anthony.moretti@gmail.com>
>>> *Sent:* Monday, 11 June 2018 8:26 AM
>>> *To:* Dan Brickley
>>> *Cc:* Peter F. Patel-Schneider; Richard Wallis; public-schemaorg@w3.org
>>> *Subject:* Re: Schema.org and OWL
>>>
>>>
>>>
>>> Yep I definitely understand it doesn't imply disjointedness. But
>>> subclassing is answered by the "some or all" test, and I'd argue that all
>>> instances of these types are events. For example, is there an example of a
>>> trip that is not an event?
>>>
>>>
>>>
>>> And yep I completely agree, some not all books have current offers for
>>> sale/trade, so books are not a subtype of product. And I completely agree
>>> with the second example too, some not all things being offered are creative
>>> works. For example, an orange being offered for sale is a product but not a
>>> creative work, thus not all products are creative works. So I don't think
>>> those are examples of tradeoffs by schema.org, they're completely
>>> correct modeling by schema.org.
>>>
>>>
>>>
>>> If things like trips aren't considered events then strange behavior or
>>> additional work for people will result. For example a reasoner might look
>>> for all events to display on a calendar, but with the current structure all
>>> trips will have to be additionally typed as events, when in my view it
>>> should be implicit from already being classified as a trip.
>>>
>>>
>>>
>>> On Sun, Jun 10, 2018 at 2:38 PM Dan Brickley <danbri@google.com> wrote:
>>>
>>> The lack of a "subclassof" relationship doesn't mean we consider the
>>> types disjoint. You might similarly argue that all books are products, or
>>> that all products are creative works. While we respect the efforts of the
>>> ontologies community, Schema org is a bit different in the tradeoffs we
>>> have chosen to make. The looseness may be frustrating but it has also
>>> helped us grow this thing incrementally.
>>>
>>>
>>>
>>> Dan
>>>
>>>
>>>
>>> On Sun, 10 Jun 2018, 14:28 Anthony Moretti, <anthony.moretti@gmail.com>
>>> wrote:
>>>
>>> If we believe schema.org will be used long into the future then even if
>>> changes are hard we should try to make them right?
>>>
>>>
>>>
>>> Arguing by word origins, even the word "action" comes from "event".
>>> Using the dictionary on Google:
>>>
>>>
>>>
>>> "action"
>>>
>>> "act"
>>>
>>> "actus" (Latin) - event, thing done
>>>
>>>
>>>
>>> Arguing by structure, Actions on schema.org duplicate the startDate and
>>> endDate properties (startTime and endTime). Additionally, Actions have a
>>> state property on schema.org but Events do not, yet all action states
>>> can all be derived from more general event states. So putting Action, or
>>> any type with a startDate or endDate, as a subtype of Event actually
>>> removes redundancy.
>>>
>>>
>>>
>>> A simple test to determine whether something is an event or not is can
>>> it be put on a calendar and look normal? I think instances of all the types
>>> I mentioned can:
>>>
>>>
>>>
>>> Event
>>>
>>> Action
>>>
>>> Course
>>>
>>> Offer
>>>
>>> ParcelDelivery
>>>
>>> Relationship
>>>
>>> Trip
>>>
>>>
>>>
>>> Anthony
>>>
>>>
>>>
>>> On Sun, Jun 10, 2018 at 11:38 AM Dan Brickley <danbri@google.com> wrote:
>>>
>>> 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 Wednesday, 13 June 2018 21:09:45 UTC