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