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