Thank you for your answers.
I think I am in the case you described by "There is also the possibility to
use simple SPARQL to determine whether a graph meets some conditions of
interest and then take action in application code accordingly."
I would like to retrieve the rdfs:range of a property and take actions
accordingly.
This is the reason why I would like to make a distinction between ranges
that could be rdfs:Literal (or a subclass of Literal) and ranges that are
"URIs or BlankNodes".

What is the meaning of owl:Thing exactly ?
What is the meaning of owl:ObjectProperty vs. owl:DatatypeProperty ?


On Tue, Sep 6, 2016 at 2:02 PM, A. Soroka <[email protected]> wrote:

> This is a very common misunderstanding, and we can correct it even more
> generally: _nothing_ in RDFS _or_ OWL can be used to restrict the triples
> in a graph, ever, under their specified semantics [1]. They can only be
> used to create new triples, not to disallow triples. SPIN (or
> implementations of the forthcoming SHACL specification) are indeed a more
> reasonable approach. There is also the possibility to use simple SPARQL to
> determine whether a graph meets some conditions of interest and then take
> action in application code accordingly.
>
> ---
> A. Soroka
> The University of Virginia Library
>
> [1] There is an alternative closed-world semantics for OWL called ICV, but
> I am not sure how easy it would be to use with Jena. It is implemented in
> Pellet, but this documentation for Pellet (https://github.com/
> Complexible/pellet/wiki/FAQ#jena-interface) refers to DIG, so it seems
> rather out of date.
>
> > On Sep 6, 2016, at 5:41 AM, Nikolaos Beredimas <[email protected]>
> wrote:
> >
> > I think you are misunderstanding the meaning of rdfs:range (a very common
> > mistake)
> > Per definition,
> > rdfs:range is an instance of rdf:Property
> > <https://www.w3.org/TR/rdf-schema/#ch_property> that is used to state
> that
> > the values of a property are instances of one or more classes.
> >
> > So, rdfs:range is not supposed to be used to restrict the "kind" of an
> > object, but to infer it.
> >
> > If you want restrictions, try something like SPIN.
> >
> > Regards,
> > Nikos
> >
> > On Tue, Sep 6, 2016 at 12:34 PM, Jérémy Coulon <
> [email protected]
> >> wrote:
> >
> >> Hello,
> >>
> >> I would like to write my own ontology.
> >> For some properties I would like to restrict their range to URIs or
> >> BlankNodes but to forbid literals.
> >> For example:
> >> myprop a rdf:Property ;
> >>            rdfs:range ***URIs or BlankNodes*** .
> >>
> >> I have difficulties to understand some semantics of RDFS and OWL.
> >> I don't see a way to do what I want with pure RDFS.
> >> I have read about owl:Thing but I don't understand what it is supposed
> to
> >> mean.
> >> Is owl:Thing the range I am looking for ?
> >> Is it possible to do what I need after all ?
> >>
> >> Thanks for your help.
> >>
> >> Jeremy
> >>
>
>

Reply via email to