Re: rdfs:domain and rdfs:range

Hi Eric,

You're quite right.
I gave  that kind of data example on purpose, because such alike was 
used as argument to replace in a system such basic properties as 
rdfs:domain and rdfs:range with other properties.
Which brings it back to my question.
Rephrasing it I think that interoperability is not helped by replacing 
the RDFS properties for that reason.

Kind regards,
Hans

Am 19.11.2017 05:14, schrieb Eric Prud'hommeaux:
> * Hanscools <hanscools@intergga.ch> [2017-11-19 02:45+0100]
>> Hello,
>> 
>> I came across a system implementing Semantic Web technology and 
>> replacing
>> rdfs:domain and rdfs:range by its own constraints.
>> Can this still be considered W3C compliant?
>> 
>> The (anonymized) declaration:
>> x:propertyX a owl:ObjectProperty. # replacing rdfs:domain
>> x:propertyY a owl:ObjectProperty. # replacing rdfs:range
>> (Note: without any other semantics, e.g.
>>        x:propertyX rdfs:subPropertyOf rdfs:domain.)
>> 
>> Reason for doing this: 'insufficient control over type of subject and
>> object', because:
>> * implementation of the RDF/S model theory for rdfs:domain and 
>> rdfs:range
>> with e.g. N3 rules:
>> {?P rdfs:domain ?DC. ?x ?P ?y} => {?x a ?DC}.
>> {?P rdfs:range ?RC. ?x ?P ?y} => {?y a ?RC}.
>> 
>> * and example with mock-up ontologies and data (without prefix 
>> headers):
>> Ontologies:
>> y:Rock a rdfs:Class.
>> z:Human a rdfs:Class.
>> z:BiologicalSex a rdfs:Class.
>> z:hasBiologicalSex
>> 	a owl:ObjectProperty;
>> 	rdfs:domain z:Human;
>> 	rdfs:range z:BiologicalSex.
>> Data:
>> ex:rock1
>> 	a y:Rock;
>> 	z:hasBiologicalSex z:female.
>> 
>> * leads to following inferences with a machine reasoner using the 
>> above
>> rules:
>> ex:rock1 a z:Human. # not OK => 'One can state and infer the wrong 
>> things.'
>> z:female a z:BiologicalSex. # OK
>> 
>> Note: problem can be solved by declaring:
>> z:Human owl:disjointWith y:Rock. # For the example above this will 
>> result in
>> a conclusion: false.
> 
> This looks like inaccurate data (if we're talking about minerals here,
> they don't have a biological sex). There's no modeling which can
> account for that. If you evaluate the semantics of false models,
> you'll learn more false factoids.
> 
> However, your question is kind of close to a textbook use case for OWL
> restriction classes so it's probably worth mentioning. If cat's
> offspring are cats and dog's offspring are dogs, we might be tempted
> to use rdfs:range on ex:hasChild:
> 
>  wrong
>   ex:hasChild rdfs:range ex:Cat .
>   ex:hasChild rdfs:range ex:dog .
>   <Rex> a ex:Dog; ex:hasChild <Fido> .
>  implies that
>   <Fido> a ex:Dog, ex:Cat . # sort of a mule of common pets?
> 
> But you can say that dogs have dogs and cats have cats:
> 
>   ex:Dog rdfs:subClassOf [ owl:onProperty ex:hasChild ;
> owl:allValuesFrom ex:Dog ] .
>   ex:Cat rdfs:subClassOf [ owl:onProperty ex:hasChild ;
> owl:allValuesFrom ex:Cat ] .
>   <Rex> a ex:Dog; ex:hasChild <Fido> .
>  which implies that
>   <Fide> a ex:Dog .
> 
> 
>> Kind regards,
>> Hans
>> 

Received on Sunday, 19 November 2017 22:36:41 UTC