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

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.

> 
> https://github.com/jasnell/w3c-socialwg-activitystreams/blob/master/activitystreams2.owl#L42
> 

Received on Thursday, 22 January 2015 10:37:30 UTC