A closed world checker would find that issue but not a general reasoner. - 
example implementation ? Pellet ?

thanks,
Sourajit



________________________________
From: Dave Reynolds <[email protected]>
To: sourajit basak <[email protected]>
Cc: "[email protected]" <[email protected]>
Sent: Friday, 19 August 2011 3:58 PM
Subject: Re: basic inference capabilities in Jena

Hi,

On Fri, 2011-08-19 at 01:42 -0700, sourajit basak wrote: 
> Thanks Dave.
> 
> I think I have run into the reasoner OWA principles which have been 
> perpetually confusing to me.

You are not alone. The OWA principles are important but they are a
different way of thinking about data and many find them confusing at
first.

> According to the specs,
> The owl:allValuesFrom restriction requires that for every instance of
> the class that has instances of the specified property, the 
> values of the property are all members of the class indicated by the 
> owl:allValuesFrom clause. 
> 
> 
> Which means if I add a min cardinality, it means that PotentialCustomers have 
> one proposedScheme pointing to individuals from 'Scheme'. Is this correct ?

Yes. It doesn't let you infer a PotentialCustomer but it does mean that
anything explicitly typed as a PtentialCustomer logically has at least
one proposedScheme pointing to a Scheme.

> 
>     <owl:Class rdf:about="&v1;PotentialCustomer">
>         <rdfs:subClassOf rdf:resource="&v1;Customer"/>
>         <rdfs:subClassOf>
>             <owl:Restriction>
>                 <owl:onProperty rdf:resource="&v1;proposedScheme"/>
>                 <owl:minCardinality 
>rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
>             </owl:Restriction>
>         </rdfs:subClassOf>
>         <rdfs:subClassOf>
>             <owl:Restriction>
>                 <owl:onProperty rdf:resource="&v1;proposedScheme"/>
>                 <owl:allValuesFrom rdf:resource="&v1;Scheme"/>
>             </owl:Restriction>
>         </rdfs:subClassOf>
>     </owl:Class>
> 
> Lets assume there is no reasoner and I explicitly created a typed 
> PotentialCustomer and try to add a 'proposedScheme' value a) which isn't an 
> instance of Scheme and b) not add the 'proposedScheme' at all.
> 
> 
> Will Jena throw a validation error ? 

No.

Firstly there is no runtime validation like this at all in Jena. To
validate a model you call a reasoner and ask it to validate, so with no
reasoner no errors like that are detected. As a piece of RDF it is fine
either way.

For (b) that wouldn't even be an error for a reasoner - OWA again.  Your
minCardinality means that there is logically at least one proposedScheme
value. Just because your instance doesn't have one yet just means to
don't a complete view of the data so there is no inconsistency. A closed
world checker would find that issue but not a general reasoner.

Dave

Reply via email to