When I write to a text file, I supply a base URI. I call RDFWriter.write(Model m, OutputStream os, String baseUri). The RDF statements (in XML_ABBREV format) about the ontology in that case do have 'rdf:about=""' as the subject. When you talk about "<>" do you mean that "<>" should be there instead of ""? (I'm ignorant of "<>" as an OWL convention for ontologies. I don't think I've ever used it or seen it, alas.)
However, in this case I'm not the one who is converting a model to a payload; it's something underneath Fuseki's DatasetAccessor. Similarly, I'm not sure what you mean by "creating an ontology programmatically." When I create an OntModel, I use an OntModelSpec with a document manager that knows about all the ontologies the model needs. No base URI is supplied or able to be supplied, as far as I know. (FWIW, the Model I'm trying to put() using Fuseki is created entirely programmatically. It's an OWL translation of an XML document.) Dave Lebling -----Original Message----- From: Dave Reynolds [mailto:[email protected]] >.... The URI for your OWL ontology is the empty string which is illegal and can't be written out. The OWL convention of using <> as the relative URI for an ontology in source XML is fine but when you read it in it will get converted into an absolute URI (that of the source URL you read it in from). So you don't end up with an empty subject URI for your owl:imports in the Jena model. If you want to create an ontology programatically and generate <> in youir output then you create the owl:Ontology with some known BASE_URI and then use the same BASE_URI as the base when writing out. The RDF/XML-Abbrev writer will generate relative URIs in the output in that case. Dave
