Description
Since the root package and the artifact names have been changed, there is an idea to change names of several major classes as well (for coming release 2.0.0).
Currently this proposition includes the following changes:
-
com.github.owlcs.ontapi.OntologyModel
(formerru.avicomp.ontapi.OntologyModel
) ->com.github.owlcs.ontapi.Ontology
.
Why ?
The suffix 'Model' is absent in OWL-API. Also it is a part name of graph-model (the currentOntGraphModel
). To distinguish RDF-view and OWL-view, better to leave suffix 'Model' for things from the first category. -
ONT-API top components:
OntologyID
->ID
Because in this system only ontologies can have ids. Additional indication that this id belongs to the ontology is silly. Also, note, there isOntID
in jena subsystem, where prefixOnt
means it isOntObject
. On top level there is no such mnemonic rule.
Also, this class is an internal impl, actually it does no matter what is it name - nobody use it directly.
-
com.github.owlcs.ontapi.jena.model.OntGraphModel
(formerru.avicom.ontapi.jena.model.OntGraphModel
) ->com.github.owlcs.ontapi.jena.model.OntModel
.
Why?
Because the nameOntModel
is shorter, and therefore better.
It makes no sense to emphasize it is a Graph model, since this fact is already encoded in the full class name (the package is *.jena.model.
*). Any model in Jena is a graph model.
The main argument why such a name (i.e.OntGraphModel
) was chosen was desire to distinguish our model with jenaorg.apache.jena.ontology.OntModel
.
Now I think, this was not quit correct - both models hardly can live in one snippet simultaneously, and it would be better for clients to use only one model, either Jena’s or ours. Well, they actually can mix whatever they want, but it is just a marker of poor design. In functional sense, there should not be anything thatorg.apache.jena.ontology.OntModel
could do, but our model (com.github.owlcs.ontapi.jena.model.OntModel
) could not. Well, with except of inference.
And we could not use the prefixOwl
orOWL
: the first one is just incorrect, and the second one is reserved by OWL-API. The prefixONT
is also incorrect - it is abbreviation, not acronym.
So, the only right prefix isOnt
, which leads to the same name -OntModel
-
Jena Ontology API (RDF Model components) refactoring, see 2.0.0: Jena Ontology API refactoring #8
-
Move/rename
com.github.owlcs.ontapi.jena.utils.BuiltIIn
( ->com.github.owlcs.ontapi.jena.OntVocabulary
as analogue oforg.semanticweb.owlapi.vocab.OWLRDFVocabulary
) + rename methods (addget
prefix for methods returning collections, i.e. for all) -
com.github.owlcs.ontapi.transforms.Transform
refactoring: get rid of Transform abstraction, that accept model/graph as constructor parameter, instead there should be stateless interface (currently it isGraphTransforms.Maker
- but this is a bad name)