-
Notifications
You must be signed in to change notification settings - Fork 10
1. Project Structure & JavaDoc
Once the repository is cloned/downloaded, you will find the following directories and files:
owloop
├── documentation
| ├── javaDoc
| | ├── ... (html files related to javaDoc)
| | └── index.html
| ├── screenshots
| | └── ... (screenshots from Protege editor and IntelliJ IDEA)
| ├── NotesDuringDevelopment.txt
| └── UML.zip
├── gradle/wrapper
| └── gradle-wrapper.properties
├── lib
| ├── amor-1.0.jar
| ├── owloop-1.0-with-dependecies.jar
| └── owloop-1.0.jar
├── src
| ├── main/java/it/emarolab/owloop
| │ ├── core
| │ | ├── Axiom.java
| │ | ├── Concept.java
| │ | ├── DataProperty.java
| │ | ├── Individual.java
| │ | └── ObjectProperty.java
| │ └── descriptor
| │ ├── construction
| │ │ ├── descriptorEntitySet
| | | | └── DescriptorEntitySet.java
| │ │ ├── descriptorExpression
| | | | ├── ConceptExpression.java
| | | | ├── DataPropertyExpression.java
| | | | ├── IndividualExpression.java
| | | | └── ObjectPropertyExpression.java
| │ │ └── descriptorGround
| | | ├── ConceptGround.java
| | | ├── DataPropertyGround.java
| | | ├── DescriptorGroundInterface.java
| | | ├── IndividualGround.java
| | | └── ObjectPropertyGround.java
| │ └── utility
| │ ├── conceptDescriptor
| | | ├── DefinitionConceptDesc.java
| | | ├── FullConceptDescriptor.java
| | | ├── HierarchicalConceptDesc.java
| | | └── InstanceConceptDesc.java
| │ ├── dataPropertyDescriptor
| | | ├── DefinitionDataPropertyDesc.java
| | | ├── DomainRangeDataPropertyDesc.java
| | | ├── FullDataPropertyDescriptor.java
| | | └── HierarchicalDataPropertyDesc.java
| │ ├── individualDescriptor
| | | ├── DefinitionIndividualDesc.java
| | | ├── FullIndividualDescriptor.java
| | | ├── LinkIndividualDesc.java
| | | └── TypeIndividualDesc.java
| │ └── objectPropertyDescriptor
| | ├── DefinitionObjectPropertyDesc.java
| | ├── DomainRangeObjectPropertyDesc.java
| | ├── FullObjectPropertyDescriptor.java
| | └── HierarchicalObjectPropertyDesc.java
| └── test
| ├── java/it/emarolab/owloopArticleExamples
| | ├── example1
| | | └── ConstructOntology.java
| | ├── example2
| | | └── UseDescriptorBuild.java
| | ├── example3
| | | └── RemoveAxioms.java
| | └── exampleDescriptors
| | ├── CorridorConceptDesc.java
| | ├── DefConceptDesc.java
| | ├── DefSubConceptDesc.java
| | ├── LocationConceptDesc.java
| | ├── ObjectLinkIndividualDesc.java
| | ├── RoomConceptDesc.java
| | └── TypeIndividualDesc.java
| └── resources
| └── robotAtHomeOntology.owl
├── .gitignore
├── LICENSE
├── NotesDuringDevelopment.txt
├── README.md
├── build.gradle
├── gradlew
├── gradlew.bat
└── settings.gradle
Within the owloop/src/
package, you have the following:
-
test/java/it/emaroLab/owloopArticleExamples/
: contains example codes that present the OWLOOP-API. The examples show how to,- create Descriptors, in
exampleDescriptors/
, - add axioms to an ontology, in
example1/
, - infer axioms from an ontology, in
example2/
, and - remove axioms from an ontology, in
example3/
.
- create Descriptors, in
-
main/java/it/emarolab/owloop/
: contains the actual OWLOOP library, wherein:-
core/
: contains interfaces which provide methods that allow synchronization between, the state of one or more descriptors (i.e., axioms in OWLOOP) and the state of one or more OWL ontologies (i.e., axioms in an OWL ontology). More in particular:- Axiom: is the interface wherein are other interfaces that represent core components within the OWLOOP library (i.e, Ground, Expression, EntitySet and Descriptor).
- Concept: is the interface wherein are other interfaces that represent Expressions related to the OWL entity OWLClass.
- Individual: is the interface wherein are other interfaces that represent Expressions related to the OWL entity OWLIndividual.
- ObjectProperty: is the interface wherein are other interfaces that represent Expressions related to the OWL entity OWLObjectProperty.
- DataProperty: is the interface wherein are other interfaces that represent Expressions related to the OWL entity OWLDataProperty.
-
descriptor/construction/
: contains either implementation or extension of the above core interfaces, which when put together form a Descriptor. More in particular:-
descriptorEntitySet/
: contains mainly classes which (by implementing the abovecore/
interfaces) represent the different type of OWL entities (therefore axioms) that can be synchronized between the OWLOOP domain and OWL ontology domain. -
descriptorExpression/
: contains mainly interfaces which (by extending the abovecore/
interfaces 'respectively') represent synchronization (between the OWLOOP domain and OWL domain) of ClassExpressionAxioms, IndividualExpressionAxioms, ObjectPropertyExpressionAxioms or DataPropertyExpressionAxioms. -
descriptorGround/
: contains mainly classes which (by implementing thecore/
anddescriptorExpression/
interfaces) provide methods that are able to ground an OWL entity in a descriptor. Based on the Ground and its association to an EntitySet via an Expression, a descriptor is formed.
-
-
descriptor/utility/
: contains classes that implement interfaces and extend classes fromdescriptor/construction/
. These classes are examples of OWLOOP Descriptors. They allow you to manipulate OWL entities as objects within the OOP domain and no more as strings (as is the case when using the classic OWL-API). Furthermore, to have control over the amount of synchronization that happens between the OWLOOP and OWL ontology, you can make your own unique Descriptor, that satisfies the need of your application. Based on your need, you may wish to have a simple descriptor or a compound descriptor, more in particular:-
conceptDescriptor/
: contains the following classes:- FullConceptDescriptor: an example of a compound descriptor which implements 6 expressions (i.e., Equivalent, Disjoint, Sub, Super, Instance, Definition).
- HierarchicalConceptDescriptor: an example of a compound descriptor which implements 2 expressions (i.e., Sub, Super).
- InstanceConceptDescriptor: an example of a simple descriptor which implements 1 expression (i.e., Instance).
-
dataPropertyDescriptor/
: contains the following classes:- FullDataPropertyDescriptor: an example of a compound descriptor which implements 6 expressions (i.e., Equivalent, Disjoint, Sub, Super, Domain, Range).
- HierarchicalDataPropertyDescriptor: an example of a compound descriptor which implements 2 expressions (i.e., Sub, Super).
-
individualDescriptor/
: contains the following classes:- FullIndividualDescriptor: an example of a compound descriptor which implements 5 expressions (i.e., Equivalent, Disjoint, Type, ObjectLink, DataLink).
- TypeIndividualDescriptor: an example of a simple descriptor which implements 1 expression (i.e., Type).
-
objectPropertyDescriptor/
: contains the following classes:- FullObjectPropertyDescriptor: an example of a compound descriptor which implements 7 expressions (i.e., Equivalent, Disjoint, Sub, Super, Domain, Range, Inverse).
- HierarchicalObjectPropertyDescriptor: an example of a compound descriptor which implements 2 expressions (i.e., Sub, Super).
-
-
Once the repository is cloned/downloaded, you can access the JavaDoc by opening the file index.html in your browser. The file can be found in the path owloop/docs
.