Skip to content

Project

szuev edited this page Jan 3, 2020 · 5 revisions
  • The root of project (package com.github.owlcs.ontapi) contains the core classes. Some of them are:
    • OntManagers - the factory access point to the ONT-API OWLOntologyManager and also to the default OWL-API-impl, if it is present in dependencies.
    • OntologyManager is an extended org.semanticweb.owlapi.model.OWLOntologyManager with access to overridden OWLOntology - Ontology.
    • Ontology is an extended org.semanticweb.owlapi.model.OWLOntology with the method to get RDF Graph Model shadow and the methods to manage axioms cache.
    • OntologyFactory is an extended org.semanticweb.owlapi.model.OWLOntologyFactory, the point to create and load (read) ontologies from a source.
    • DataFactory is an extended org.semanticweb.owlapi.model.OWLDataFactory, the point to create OWL components (OWLObjects and OWLAxioms).
    • OntFormat - is the bridge between org.apache.jena.riot.Lang and org.semanticweb.owlapi.model.OWLDocumentFormat, an enum containing 22 constants reflecting supported syntaxes.
  • Package com.github.owlcs.ontapi.internal contains Axiom Translators (a collection of triples-to-axioms and axiom-to-triples mappings), technical interfaces and some helpers. Some of the important classes are:
    • AxiomTranslator - it is the base for any axiom translator. There are 39 axiom translators, each of them corresponds to the particular axiom-type.
    • AxiomParserProvider - factory to produce AxiomTranslator
    • InternalModel - it is the buffer model between graph-triple and structural representation.
  • Package com.github.owlcs.ontapi.config contains classes to work with project settings. Main classes:
    • OntConfig - it is overridden org.semanticweb.owlapi.model.OntologyConfigurator, global manager config and builder for OntLoaderConfiguration and OntWriterConfiguration.
    • OntLoaderConfiguration - overridden org.semanticweb.owlapi.model.OWLOntologyLoaderConfiguration with new ONT-API options to manage axiom reading and loading behaviour.
    • OntWriterConfiguration - overridden org.semanticweb.owlapi.model.OWLOntologyWriterConfiguration with new ONT-API options to manage axiom whiting.
  • Package com.github.owlcs.ontapi.jena is a separated subsystem with a main class com.github.owlcs.ontapi.jena.model.OntModel which is analogue of org.apache.jena.ontology.OntModel, but for OWL-2-DL. This subsystem is a core of ONT-API and can be used autonomously. Some of the basic components are:
    • com.github.owlcs.ontapi.jena.model.OntModel is a main class of this subsystem. It is an extended org.apache.jena.rdf.model.Model, the facade and wrapper to the Graph (see also UnionGraph).
    • com.github.owlcs.ontapi.jena.model.OntStatement is an extended org.apache.jena.rdf.model.Statement, which is linked to the ont-graph-model.
    • com.github.owlcs.ontapi.jena.model.OntObject. It is our analogue of org.apache.jena.ontology.OntResource, the basis of any OWL (jena) objects, which are also contained in model package.
    • com.github.owlcs.ontapi.jena.model.OntEntity. It is an OntObject for named resources (OWL-entities): class, datatype, annotation property, data property, object property and named individual.
    • com.github.owlcs.ontapi.jena.impl.conf.OntPersonality is an extended org.apache.jena.enhanced.Personality, the interface/implementation mapping, which provides a kind of polymorphism on Jena resources. This mechanism can be used to regulate behaviour on 'illegal punnings'.
    • com.github.owlcs.ontapi.jena.UnionGraph is our analogue of org.apache.jena.graph.compose.MultiUnion, a hierarchical graph, which underlies any ontology.
  • Package com.github.owlcs.ontapi.transforms is another small subsystem, which can be used separately. It puts in order any ontological graph (RDFS, OWL1, etc) before using the main API. There are two significant classes:
    • Transform - it is an abstract superclass for any rdf-graph-transformer.
    • GraphTransformers - it is the transforms storage and a point to access to any of them.
  • Package com.github.owlcs.ontapi.owlapi contains OWL-component implementations (OWLObjects), developed originally for owlapi-impl by its contributors. The factory com.github.owlcs.ontapi.DataFactory is an accessor to them.
Clone this wiki locally