Re: DELETE and blank nodes

>> It would be deleted by:
>>
>> DELETE WHERE
>> {
>>   ex:Peter a ?var.
>>   ?var a owl:restriction .
>>   ?var owl:onProperty ex:hasParent .
>>   ?var owl:someValuesFrom ex:Lawyer .
>> }
>>
>> using variables with ?var binding to exactly the bnode that was syntactical
>> _:x in the data.
>
> Unfortunately not, because such a bnode binding will be filtered out
> from the results by the conditions on answers. If it were not filtered
> out, you could get infinite results because replacing _:x with :_xx or
> _:xxx or ... would equally be entailed. Since we use entailment, using
> the same sub-graph criterion that simple entailment uses to limit
> answers with just different bnode labels does not really work for
> entailments. For anonymous individuals in OWL (bnodes in individual
> positions) we use skolemisation, but the bnodes that are just used to
> represent some concepts are invisible to the reasoner and skolemising
> them is quite strange for Direct Semantics. Such a BGP would, actually
> not even be legal under Direct Semantics because it cannot really be
> turned into an OWL structural object.

We're discussing a case akin to an editor manipulating an RDF graph but 
generally I would have thought that update usually applies to the base 
data, not the entailments drawn from it.

When working with encoding of the ontology, the app is dealing with the 
RDF in as an encoding so only simple entailment is needed and quite 
possible makes more sense surely?

 Andy

Received on Wednesday, 3 March 2010 18:09:17 UTC