On Fri, 2011-08-19 at 04:37 -0700, sourajit basak wrote: 
> A closed world checker would find that issue but not a general reasoner. - 
> example implementation ? Pellet ?

Of a closed world checker?

Eyeball - I believe it has a cardinality checker, though not one that
will also check the allValuesFrom.

C&P do have a closed world checker. I don't know if it ships as part of
Pellet or as a separate product.

Dave

> 
> 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