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 gmx.de
Mon Jan 25 10:52:20 PST 2010


Ok,
you mean for example having a Sign class

default:Sign
       a       owl:Class .

and a Street class

default:Street
       a       owl:Class .

with an object property hasSign

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

and having only one individual:

default:Street_5
       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 
protege:ExternalResource?

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 
owl/pellet/sqwrl?

Thanks in advance,
Michael


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