#Documentation to understand the code and design choices:-
-
- Inside Package owlapi -> app.java
Order in which to read functions :-
-
- generate
-
- generateOntology
-
- loadMainNecessaryThings
-
- Inside Package owlapi -> app.java
Order in which to read functions :-
-
- Inside Package owlapi.Features.BoilerplateCode -> Util.java
Order in which to read functions :-
-
- initializeGlobalHashMaps
-
- initialUserInputCount
-
- initialAxiomsCount
-
- randomizeMapping IGNORE - readUserInputFile
-
- Inside Package owlapi.Features.BoilerplateCode -> Util.java
Order in which to read functions :-
-
- Inside Package owlapi.Features.BoilerplateCode -> TextFileProcessor.java
Order in which to read functions :-
-
- readTxtFile
-
- rankAxioms
-
- loadGlobalCommons
-
- saveGlobalCommons
-
- insertIntoGlobalCommons IGNORE insertIntoGlobalHashMaps for NOW.
-
- Inside Package owlapi.Features.BoilerplateCode -> TextFileProcessor.java
Order in which to read functions :-
-
- Inside Package owlapi.Features.BoilerplateCode -> CommonFramework.java
Order in which to read functions :-
-
- addToOntology
-
- insertAxiomIntoOntology IGNORE - filterGlobalHashMapConcepts
-
NOTE :- * CommonFramework.java's "addToOntology" function corresponds to TextFileProcessor.java's "insertIntoGlobalCommons". They are functioning similar. * CommonFramework.java's "insertAxiomIntoOntology" function corresponds to TextFileProcessor.java's "insertIntoGlobalHashMaps". They are functioning similar.
- Inside Package owlapi.Features.BoilerplateCode -> CommonFramework.java
Order in which to read functions :-
-
- Inside Package owlapi.Features.BoilerplateCode -> LastDance.java
Order in which to read functions :-
-
- oneLastTime
-
- constructAxiomsHashMap
-
- addGlobalToOntologyDomainRange
-
- addGlobalToOntologySubOf ( especially ONLY this function )
-
- Inside Package owlapi.Features.BoilerplateCode -> LastDance.java
Order in which to read functions :-
-
- FilenameConstructMapping.java -> For each category of constructs, we have defined its corresponding axiom 'txt' file and 'separator' used to PARSE the Axioms. Because ALL Axioms 'txt' file is IN FORMAT :- Term1 'SEPARATOR' Terms......... ( Could be from emty to 5 terms ).
There we are making these two Hashmaps
-
- fileMap ( key - constructName ( without Owl/Feature Term in them) , value - fileName to read axioms from )
-
- separatorMap ( key - constructName ( without Owl/Feature Term in them) , value - 'SEPARATOR' to parse the axiom in their 'txt' file )
-
- FilenameConstructMapping.java -> For each category of constructs, we have defined its corresponding axiom 'txt' file and 'separator' used to PARSE the Axioms. Because ALL Axioms 'txt' file is IN FORMAT :- Term1 'SEPARATOR' Terms......... ( Could be from emty to 5 terms ).
There we are making these two Hashmaps
-
- Reasoner.java -> This File has owl api code for checking consistency of the generated ontology.
-
- owlapi.Features.Features -> This is the PACKAGE NAME, under which we have written Category JAVA Files. For example :- ClassEnumerationcategory.java, ClassExpressionAxiomsCategory.java, DataRangesCategory.java like total eight files. List of constructs UNDER EACH category java file is mentioned below. In each method, we have written logic TO INSERT that CONSTRUCT into ONTOLOGY. In each method , we are taking ArrayList Of Terms ( Part Of Single Axiom ) As Argument.
-
- ClassEnumerationcategory = {"OwlClass","ObjectComplement","ObjectIntersection","ObjectOneOf","ObjectUnionOf"};
-
- ClassExpressionAxiomsCategory = {"AllDisjointClasses","DisjointUnion","DisjointWith","EquivalentClass","RdfsSubClassOf"};
-
- ObjectPropertyAxiomCategory = {"AsymmetricProperty","EquivalentObjectProperty","FunctionalObjectProperty","InverseFunctionalProperty","InverseOfProperty","IrreflexiveProperty","ObjectPropertyDisjointWith","ReflexiveProperty","SymmetricProperty","TransitiveProperty","RdfsObjectDomain","RdfsObjectRange","PropertyChainAxiom","RdfsObjectSubPropertyOf","AllDisjointObjectProperties","ObjectProperty"};
-
- ObjectPropertyRestrictinoCategory = {"ObjectAllValuesFrom","ObjectHasSelf","ObjectHasValue","ObjectSomeValuesFrom","ObjectQualifiedCardinality","ObjectMaxQualifiedCardinality","ObjectMinQualifiedCardinality"};
-
- DataPropertyAxiomsCategory = {"AllDisjointDataProperties","EquivalentDataProperty","FunctionalDataProperty","DataPropertyDisjointWith","RdfsDataDomain","RdfsDataRange","RdfsDataSubPropertyOf"};
-
- DataPropertyRestrictionCategory = {"DataAllValues","DataHasValue", "DataMaxQualifiedCardinality","DataMinQualifiedCardinality","DataQualifiedCardinality","DataSomeValuesFrom"};
-
- DataRangesCategory = {"DataComplementOf","DataIntersectionOf", "DataOneOf","DataUnionOf"};
-
- Assertions: HasKey, ClassAssertionAxioms, ObjectPropertyAssertionAxioms, DataPropertyAssertionAxioms