Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] How to detect undefined references in rdf:resource

Buns bunsz at
Mon Jan 25 10:52:20 PST 2010

you mean for example having a Sign class

       a       owl:Class .

and a Street class

       a       owl:Class .

with an object property hasSign

       a       owl:ObjectProperty ;
       rdfs:domain default:Street ;
       rdfs:range default:Sign .

and having only one individual:

       a       default:Street ;
       default:hasSign default:Sign_4 .

Sign_4 ist not defined within the ontology ... but the reasoner can 
infer that Sign_4 really is a Sign because of the range of the object 
property hasSign and therefore will not classify it as an 

If the reasoner acts like this it ist fine. The only thing I need is 
having a possibility to check for unresolved references like Sign_4, 
which actually neighter is defined within this ontology nor in explicit 
imported ones. Do you see a chance for me to complete this task with 

Thanks in advance,

Am 25.01.2010 17:45, schrieb Timothy Redmond:
> I am not sure why you got that error - it may be that you need to 
> include the the class protege:ExternalResource in your ontology. But 
> protege:ExternalResource won't quite do what you are looking for 
> either; in some cases the Protege parser will figure out the right 
> type for the resource and do the right thing.
> Part of the issue is that you are trying to do something that is 
> somewhat ill-defined. If you use protege:ExternalResource as your 
> guide then in some sense you are looking for rdf:Resources whose type 
> cannot be determined by the Protege 3 owl parser. This should not 
> happen in OWL DL and the Protege 3 parser will always try to infer the 
> type of the resource when it can.
> -Timothy
> Bunsz wrote:
>> Thank you again Thomas,
>> I am able to reproduce this, and now I really would like this 
>> "protege:ExternalResource" class to be used within SQWRL rules in 
>> order to collect all individuals of this type. Unfortunately this 
>> rule "protege:ExternalResource(?e) → sqwrl:select(?e)" seems to be 
>> syntactically wrong ("Error: Invalid atom name 
>> 'protege:ExternalResource'.) For SQWRL this class doesn't seem to be 
>> visible. Do you know why? And can this state be changed somehow?
>> Regards, Michael
>> Am 22.01.2010 22:17, schrieb Thomas Russ:
>>> On Jan 20, 2010, at 2:56 PM, Buns wrote:
>>>> Thank you, Thomas,
>>>> but how do I make UntypedResource a visible Class? Do I have to 
>>>> define it explicitly?
>>> Actually, it seems to appear in the Protege 3.4.2 automatically 
>>> whenever it is needed.
>>> The real name is "protege:ExternalResource".
>>> Attached is a screen shot from my editor showing this for a simple 
>>> test ontology defined as:
>>> <owl:ObjectProperty rdf:ID="P"/>
>>> <owl:Thing rdf:ID="i">
>>> <P rdf:resource="#unknown"/>
>>> </owl:Thing>
>>> where there is one otherwise undefined RDF resource named "unknown".
>>>> The background is, I generate an ontology out of an XML-file using 
>>>> XSLT in order to use it for verification purposes and for detecting 
>>>> kind of inconsistencies. In this context ... can this 
>>>> UntypedResource class be used as a dump, where all references to 
>>>> undefined resources can be collected?
>>> Well, I would think that when you load the OWL file into Protege any 
>>> such external resources would be collected under this class.

More information about the protege-owl mailing list