Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.0.0: Rename public API classes and other refactoring #4

Closed
sszuev opened this issue Oct 23, 2019 · 1 comment
Closed

2.0.0: Rename public API classes and other refactoring #4

sszuev opened this issue Oct 23, 2019 · 1 comment
Labels
enhancement New feature or request

Comments

@sszuev
Copy link
Contributor

sszuev commented Oct 23, 2019

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:

  1. com.github.owlcs.ontapi.OntologyModel (former ru.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 current OntGraphModel). To distinguish RDF-view and OWL-view, better to leave suffix 'Model' for things from the first category.

  2. 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 is OntID in jena subsystem, where prefix Ont means it is OntObject. 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.
  3. com.github.owlcs.ontapi.jena.model.OntGraphModel (former ru.avicom.ontapi.jena.model.OntGraphModel) -> com.github.owlcs.ontapi.jena.model.OntModel.
    Why?
    Because the name OntModel 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 jena org.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 that org.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 prefix Owl or OWL : the first one is just incorrect, and the second one is reserved by OWL-API. The prefix ONT is also incorrect - it is abbreviation, not acronym.
    So, the only right prefix is Ont, which leads to the same name - OntModel

  4. Jena Ontology API (RDF Model components) refactoring, see 2.0.0: Jena Ontology API refactoring #8

  5. Move/rename com.github.owlcs.ontapi.jena.utils.BuiltIIn ( -> com.github.owlcs.ontapi.jena.OntVocabulary as analogue of org.semanticweb.owlapi.vocab.OWLRDFVocabulary ) + rename methods (add get prefix for methods returning collections, i.e. for all)

  6. 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 is GraphTransforms.Maker - but this is a bad name)

@sszuev sszuev added enhancement New feature or request question Further information is requested help wanted Extra attention is needed and removed help wanted Extra attention is needed labels Oct 23, 2019
sszuev added a commit that referenced this issue Dec 7, 2019
sszuev added a commit to sszuev/ontapi-osgidistribution that referenced this issue Dec 8, 2019
sszuev added a commit to sszuev/rdf-protege that referenced this issue Dec 8, 2019
@sszuev sszuev changed the title Possible renaming 2.0.0: Rename public API classes Dec 9, 2019
sszuev added a commit to sszuev/ontapi-osgidistribution that referenced this issue Dec 15, 2019
@sszuev sszuev changed the title 2.0.0: Rename public API classes 2.0.0: Rename public API classes and other refactoring Dec 15, 2019
@sszuev sszuev removed the question Further information is requested label Dec 20, 2019
sszuev added a commit that referenced this issue Dec 22, 2019
sszuev added a commit to owlcs/ont-d2rq that referenced this issue Dec 22, 2019
sszuev added a commit that referenced this issue Dec 31, 2019
@sszuev
Copy link
Contributor Author

sszuev commented Jan 2, 2020

close

@sszuev sszuev closed this as completed Jan 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant