When we see a statement like,
<owl:Ontology rdf:about="xml:base"/>
near the start (header) of an ontology, what exactly does this mean?
If we try to read that in plain English, this should mean something like xml:base
an Ontology
. But my comprehension does not go beyond that. I am missing specially the
xml:base
part. What role does xml:base
play in case of an ontology?
(Reference: A Semantic Web Primer, second edition, Grigoris Antoniou and Frank van Harmelen, p 135.)
<owl:Ontology>
says that you are starting an Ontology
which is defined in the owl
namespace.
rdf:about
, the about
attribute from the rdf
namespace, is supposed to give a URI which will give a definition of whatever this XML is talking about. However, in this case the value is xml:base
. This says that the subject of this XML schema is represented by the resource located at the URI where this xml was retrieved.
If the ontology were to contain a further <xml:base>
element, then that would override URI; instead of looking at where we just retrieved this XML file containing the Ontology, we would instead look at the URI defined in the <xml:base>
element.
ETA: As Ignazio points out in a comment below, rdf:about="xml:base"
does not really work that way. Even if I have correctly interpreted what the people at Owl actually intended by this, what the code is actually saying is that the about
attribute is the string xml:base
, which doesn't really mean anything.