Isn't it so that RDF/XML writer always writes absolute URIs, so
xml:base is unnecessary because it would have no effect anyway?

On Fri, Feb 22, 2019 at 11:20 PM Chris Tomlinson
<[email protected]> wrote:
>
> Hello,
>
> We are trying to serve various ontology files in a variety of serializations, 
> principally RDF/XML and Turtle.
>
> The specs indicate that if the baseURI for an ontology is the URL by which 
> the ontology is retrieved then it is not required that the producer include 
> an explicit xml:base or @base or similar in the serialization.
>
> However, we are wanting to ensure that there is an explicit baseURI present 
> in the resulting serialization.
>
> This is because not all tools respect the injunction to use the URL that was 
> used to retrieve the ontology as the baseURI if there is not an explicit 
> xml:base or @base and so on in the serialization.
>
> The question is that Model.write(OutputStream, Language, baseURI) includes an 
> @base when the language is “TURTLE“ in the serialization but when the 
> language is “RDF/XML” we do not see an xml:base in the result. (same happens 
> when OntModel is used and when RDFWriter is used.)
>
> The docs indicate that the baseURI param is to be used to specify what URI 
> should be used to serialize relative URIs and says nothing about including 
> xml:base or @base; yet, we see the @base for Turtle and no xml:base for 
> RDF/XML.
>
> This is an issue when a tool requests RDF/XML before Turtle in accept headers 
> and requires that there be an xml:base in the RDF/XML serialization. Noting 
> that RDF/XML is the only required serialization.
>
> What procedure should be used to “force” an @base or xml:base uniformly?
>
> Here is a small test case that shows the issue:
>
>     
> https://github.com/buda-base/lds-pdi/blob/master/src/test/java/io/bdrc/ldspdi/test/ModelWriteTest.java
>  
> <https://github.com/buda-base/lds-pdi/blob/master/src/test/java/io/bdrc/ldspdi/test/ModelWriteTest.java>
>
>
> Thank you,
> Chris
>
>

Reply via email to