W3C home > Mailing lists > Public > public-vocabs@w3.org > January 2015

Re: Some interesting things that show up when using a reasoner to classify schema.org

From: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
Date: Thu, 22 Jan 2015 12:21:59 +0100
Message-ID: <54C0DD57.2000405@wwelves.org>
To: Martin Hepp <martin.hepp@unibw.de>
CC: W3C Web Schemas Task Force <public-vocabs@w3.org>, gregg@greggkellogg.net
On 01/22/2015 11:36 AM, Martin Hepp wrote:
> Hi elf:
> On 22 Jan 2015, at 11:26, ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org> wrote:
>> On 01/21/2015 05:21 PM, Martin Hepp wrote:
>>> Hi Dan,
>>> A hands-on solution would be to add two internal "annotation" properties "rangeHint" and "domainHint" that allow explicitly triggering the display of certain schema.org types in the documentation.
>>>    <div typeof="rdf:Property" resource="http://schema.org/purpose">
>>> ...
>>>      <span>Range: <a property="http://schema.org/rangeHint" href="http://schema.org/MedicalDevicePurpose">MedicalDevicePurpose</a></span>
>>>      <span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/Thing">Thing</a></span>
>>>    </div>
>>> The documentation could then list the formal range (Thing) and popular types for the range (e.g. MedicalDevicePurpose)
>> http://schema.org/rangeIncludes
>> Relates a property to a class that constitutes (one of) the expected
>> type(s) for values of the property.
>> http://schema.org/domainIncludes
>> Relates a property to a class that is (one of) the type(s) the property
>> is expected to be used on.
>> AFAIK both of those don't cause any inferences so in a way they already
>> act in a similar way to rangeHint and domainHint which you propose.
>> If rangeIncludes and domainIncludes have some *formal* consequences I
>> think they could use bit more of documenting.
>> http://schema.org/docs/datamodel.html
> You are right that the documentation does not say so, but I assume the Google Structured Data Testing Tool and production systems inside Google/Bing/Yahoo/Yandex use rangeIncludes and domainIncludes to assess the validity of data.
> The beginning of the discussion was that Simon reported a range of e.g. "Place OR Restaurant" as an inconsistency, and I replied that such patterns are in use in order to trigger more specific type hints.
> If rangeIncludes and domainIncludes were just for type hints, we would not need to fix such domain or range specifications.
> In my understand, rangeIncludes and domainIncludes were introduced in order to avoid the unintuitive semantics of domain and range in RDFS and OWL, and to be able to list alternative classes without defining a complex class that is the union thereof. 
>> BTW James M Snell in Activity Streams 2.0 uses owl:unionOf to specify
>> multiple types for domain and range. Maybe (domain/range)Includes could
>> act just as hints and schema.org could use something similar for
>> expressing *formal* consequences?
> GoodRelations has been using this pattern since ca 2008, too - as a means to stay within OWL without triggering unintended additional type inferences.
> But still this pattern does not allow giving hints to users on popular specializations of the formally defined type or types.

I wanted to suggest that - instead of adding yet another informal way of
specifying domain and range using *Hint. We could acknowledge current
*Includes properties as informal hints intended for broad community of
people, who develop various tools for publishing data on the web. Then
we can add proper, formal definitions only relevant for much smaller
group of developers who work on validators etc. This way we could use
more complex constructs from OWL and improve alignment with broader
Linked Data ecosystem :)

Received on Thursday, 22 January 2015 11:22:25 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:49:38 UTC