public class WriteClassStructure
extends java.lang.Object
WriteClassStructure class processes a tab-indented
text file (maintaining conformity with Protégé's requirements in this regard)
and generates OWL code representing class hierarchies within a
Java framework for OWL/XML ontology creation. This class
contributes to the ontology generation process by establishing the class
structure, including inheritance relationships and potential disjointness
constraints.
Key Functionalities:
Reads Class Definitions: Parses a text file containing class names with indentation levels indicating their hierarchical relationships.
Identifies Subclasses: Analyzes the indentation structure to determine subclass relationships between classes.
Generates OWL Class Declarations: Creates OWL code
snippets to declare all classes within the ontology.
Generates Subclass Axioms: Writes OWL code to define
subclass relationships between identified classes.
Handles Disjoint Classes (Optional): Optionally generates
OWL constructs to specify that certain classes are mutually
exclusive (cannot have overlapping instances).
Handles File I/O: Manages file reading and writing operations.
Environment:
- IDE: Eclipse IDE for Java Developers
- Version: 2021-12 (4.22.0)
- Build id: 20211202-1639
- HW Model Name: iMac, MacOS Monterey, 12.5.1
- Processor Name: Quad-Core Intel Core i5
- Processor Speed: 3.2 GHz
- Memory: 32 GB 1867 MHz DDR3
- Disk: APPLE SSD SM0256G
- Serial: DGKRC080GG7V
- Since:
- 2024/06/26
- Version:
- 1-001
- Author:
- Edit Hlaszny (https://www.hlaszny.eu/ edithlaszny@gmail.com)
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classWriteClassStructure.ClassEntity -
Field Summary
Fields Modifier and Type Field Description private java.lang.StringbaseURIprivate booleanclassDisjunctnessprivate intcountOfClassesprivate intcountOfSubclassesprivate java.lang.StringinFilePathprivate intmaxIndentationprivate java.lang.StringoutFilePathprivate OWL2_GeneratorOWL2Gprivate java.io.FileWriterwriter -
Constructor Summary
Constructors Constructor Description WriteClassStructure(java.lang.String tabIndentedClassStructure, java.lang.String outFilePath, java.lang.String baseURI, boolean eachClassIsDisjunct) -
Method Summary
Modifier and Type Method Description private intcountIndentation(java.lang.String line)private voidgenClasses(java.util.ArrayList<WriteClassStructure.ClassEntity> classList)private voidgenDisjunctClasses(java.util.ArrayList<WriteClassStructure.ClassEntity> classList)private voidgenSubClasses(java.util.ArrayList<WriteClassStructure.ClassEntity> classList)private java.util.ArrayList<WriteClassStructure.ClassEntity>readClassNames()(package private) voidwriteContent()voidwriteXMLcontent()
-
Field Details
-
baseURI
private java.lang.String baseURI -
classDisjunctness
private boolean classDisjunctness -
countOfClasses
private int countOfClasses -
countOfSubclasses
private int countOfSubclasses -
inFilePath
private java.lang.String inFilePath -
maxIndentation
private int maxIndentation -
outFilePath
private java.lang.String outFilePath -
OWL2G
-
writer
private java.io.FileWriter writer
-
-
Constructor Details
-
WriteClassStructure
WriteClassStructure(java.lang.String tabIndentedClassStructure, java.lang.String outFilePath, java.lang.String baseURI, boolean eachClassIsDisjunct)
-
-
Method Details
-
writeContent
void writeContent() -
writeXMLcontent
public void writeXMLcontent() throws java.io.IOException- Throws:
java.io.IOException
-
countIndentation
private int countIndentation(java.lang.String line) -
genDisjunctClasses
private void genDisjunctClasses(java.util.ArrayList<WriteClassStructure.ClassEntity> classList) throws java.io.IOException- Throws:
java.io.IOException
-
genClasses
private void genClasses(java.util.ArrayList<WriteClassStructure.ClassEntity> classList) throws java.io.IOException- Throws:
java.io.IOException
-
genSubClasses
private void genSubClasses(java.util.ArrayList<WriteClassStructure.ClassEntity> classList) throws java.io.IOException- Throws:
java.io.IOException
-
readClassNames
private java.util.ArrayList<WriteClassStructure.ClassEntity> readClassNames() throws java.io.IOException- Throws:
java.io.IOException
-