fresh blank nodes

Hi All

In owl2-mapping-to-rdf/, section 2.1, Translation of Axioms without Annotations,

there is a sentence that reads:

"In the mapping, each generated blank node (i.e., each blank node that does not correspond to an anonymous individual) is fresh in each application of a mapping rule."

I'm not completely clear on what this means. Is there a more formal way of stating this? What counts as a distinct application? Is this the same as saying the RDF document /should/ not use blank node IDs more than once, i.e. structure sharing?

Currently the OWL API parses:

> <owl:Class rdf:about="http://x.org#a">
>   <rdfs:subClassOf>
>     <owl:Restriction rdf:nodeID="bn0">
>       <owl:onProperty rdf:resource="http://x.org#partOf"/>
>       <owl:someValuesFrom rdf:resource="http://x.org#x"/>
>     </owl:Restriction>
>   </rdfs:subClassOf>
> </owl:Class>
> 
> <owl:Class rdf:about="http://x.org#b">
>   <rdfs:subClassOf rdf:nodeID="bn0"/>
> </owl:Class>

without complaint, and treats this the same as:

SubClassOf(a ObjectSomeValuesFrom(partOf x))
SubClassOf(b ObjectSomeValuesFrom(partOf x))

should the parser in fact throw an error, or at least give a warning?

Thanks for any clarification
Chris

Received on Tuesday, 23 November 2010 08:42:38 UTC