public class WriteTriplets
extends java.lang.Object
WriteTriplets class processes a user-defined
file containing triplet definitions (object property relationships)
and generates the corresponding OWL code snippets for inclusion
in an OWL/XML ontology. This class is responsible for generating
the core OWL statements representing relationships between instances
(individuals) within the ontology. It relies on separate classes for
processing annotations and class information.
Key Functionalities:
Reads Triplet Definition File: Parses a text file structured with sections containing property names, super-properties, annotations, and subject-object class pairs for each triplet.
Processes Triplet Definitions: Extracts property details (names, inverses, annotations), class names, and individual references from each section.
Generates OWL Object and Data Property Declarations: Writes OWL code for object and data properties, including super-properties and annotations.
Generates OWL Triplet Statements: Writes OWL code for individual instances and their relationships using the defined object properties.
Manages Individuals: Maintains a dictionary of class-individuals assigning unique serial numbers and storing annotations.
Handles I/O Operations: Manages file reading and writing operations.
Additional Notes:
The class assumes a pre-defined file format for the triplet data.
The class leverages a SharedUtils class for common
OWL code generation tasks.
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/12
- Version:
- 1-001
- Author:
- Edit Hlaszny (https://www.hlaszny.eu/ edithlaszny@gmail.com)
-
Field Summary
Fields Modifier and Type Field Description private AddClassAnnotationacaprivate intcountOfIndividualsCounters to be loggedprivate intcountOfTripletsprivate java.lang.Stringdstprivate java.lang.Stringhdr_INV_OBJECT_PROPERTY_ANNOTATIONprivate java.lang.Stringhdr_INV_PREDICATE_NAMEprivate java.lang.Stringhdr_OBJECT_DATA_PROPERTY_ANNOTATIONprivate java.lang.Stringhdr_OBJECT_DATA_PROPERTY_NAMEprivate java.lang.Stringhdr_OBJECT_DATA_PROPERTY_TYPEprivate java.lang.Stringhdr_OBJECT_PROPERTY_ANNOTATIONprivate java.lang.Stringhdr_PREDICATE_NAMEParameter names in the header of the triplet definition fileprivate java.lang.Stringhdr_SUBJECT_DATA_PROPERTY_ANNOTATIONprivate java.lang.Stringhdr_SUBJECT_DATA_PROPERTY_NAMEprivate java.lang.Stringhdr_SUBJECT_DATA_PROPERTY_TYPEprivate java.lang.Stringhdr_SUPER_DATA_PROPERTYprivate java.lang.Stringhdr_SUPER_OBJECT_PROPERTYprivate java.util.ArrayList<Individual>individualsprivate intleadingZeroesInNameSuffixprivate intnumOfitemsInLineMaxprivate intnumOfitemsInLineMinprivate OWL2_GeneratorOWL2Gprivate SharedUtilsshuprivate java.lang.Stringsrcprivate java.io.FileWriterwriter -
Constructor Summary
Constructors Constructor Description WriteTriplets(java.lang.String classAnnotationDefinitions, java.lang.String src, java.lang.String dst, java.lang.String baseURI, java.lang.String sectionStartToken, java.lang.String sectionEndToken, java.lang.String classNameToken, java.lang.String classAnnotationToken, java.lang.String comment, int leadingZeroesInNameSuffix) -
Method Summary
Modifier and Type Method Description private java.lang.StringaddLeadingZeros(int num, int totalLengthOfString)private voidcheckItemNumsInTripletDef(java.lang.String line)private voidcheckTripletSetConsistency(java.util.Properties hdr)private voidcheckValidity(boolean[] entities, java.lang.String fatalErrMsg, java.util.Properties hdr)private java.lang.StringgetClassAnnotation(java.lang.String className)private intgetClassIdx(java.lang.String className)private java.lang.StringgetHdrParam(java.util.Properties hdr, java.lang.String paramName)java.lang.StringgetIncrementedIndividualName(java.lang.String className)private java.lang.StringgetLineParameter(java.lang.String line, int idx)private intgetNumOfItemsInLine(java.lang.String line)private java.util.PropertiesgetTripletSetHdr(java.util.List<java.lang.String> tripletSet)private voidprocessTriplet(java.util.Properties hdr, java.lang.String line)private voidprocessTripletSet(java.util.List<java.lang.String> tripletSet)private java.lang.StringremoveLeadingAndTrailingWhitespaces(java.lang.String s)private voidshowFatalErrMsgAndExit(java.lang.String fatalErrMsg)
-
Field Details
-
countOfIndividuals
private int countOfIndividualsCounters to be logged -
countOfTriplets
private int countOfTriplets -
hdr_PREDICATE_NAME
private final java.lang.String hdr_PREDICATE_NAMEParameter names in the header of the triplet definition file- See Also:
- Constant Field Values
-
hdr_OBJECT_PROPERTY_ANNOTATION
private final java.lang.String hdr_OBJECT_PROPERTY_ANNOTATION- See Also:
- Constant Field Values
-
hdr_INV_PREDICATE_NAME
private final java.lang.String hdr_INV_PREDICATE_NAME- See Also:
- Constant Field Values
-
hdr_INV_OBJECT_PROPERTY_ANNOTATION
private final java.lang.String hdr_INV_OBJECT_PROPERTY_ANNOTATION- See Also:
- Constant Field Values
-
hdr_SUPER_OBJECT_PROPERTY
private final java.lang.String hdr_SUPER_OBJECT_PROPERTY- See Also:
- Constant Field Values
-
hdr_SUBJECT_DATA_PROPERTY_NAME
private final java.lang.String hdr_SUBJECT_DATA_PROPERTY_NAME- See Also:
- Constant Field Values
-
hdr_SUBJECT_DATA_PROPERTY_TYPE
private final java.lang.String hdr_SUBJECT_DATA_PROPERTY_TYPE- See Also:
- Constant Field Values
-
hdr_SUBJECT_DATA_PROPERTY_ANNOTATION
private final java.lang.String hdr_SUBJECT_DATA_PROPERTY_ANNOTATION- See Also:
- Constant Field Values
-
hdr_OBJECT_DATA_PROPERTY_NAME
private final java.lang.String hdr_OBJECT_DATA_PROPERTY_NAME- See Also:
- Constant Field Values
-
hdr_OBJECT_DATA_PROPERTY_TYPE
private final java.lang.String hdr_OBJECT_DATA_PROPERTY_TYPE- See Also:
- Constant Field Values
-
hdr_OBJECT_DATA_PROPERTY_ANNOTATION
private final java.lang.String hdr_OBJECT_DATA_PROPERTY_ANNOTATION- See Also:
- Constant Field Values
-
hdr_SUPER_DATA_PROPERTY
private final java.lang.String hdr_SUPER_DATA_PROPERTY- See Also:
- Constant Field Values
-
individuals
-
leadingZeroesInNameSuffix
private int leadingZeroesInNameSuffix -
numOfitemsInLineMax
private int numOfitemsInLineMax -
numOfitemsInLineMin
private int numOfitemsInLineMin -
OWL2G
-
dst
private java.lang.String dst -
shu
-
src
private java.lang.String src -
aca
-
writer
private java.io.FileWriter writer
-
-
Constructor Details
-
WriteTriplets
WriteTriplets(java.lang.String classAnnotationDefinitions, java.lang.String src, java.lang.String dst, java.lang.String baseURI, java.lang.String sectionStartToken, java.lang.String sectionEndToken, java.lang.String classNameToken, java.lang.String classAnnotationToken, java.lang.String comment, int leadingZeroesInNameSuffix)
-
-
Method Details
-
addLeadingZeros
private java.lang.String addLeadingZeros(int num, int totalLengthOfString) -
checkItemNumsInTripletDef
private void checkItemNumsInTripletDef(java.lang.String line) -
checkValidity
private void checkValidity(boolean[] entities, java.lang.String fatalErrMsg, java.util.Properties hdr) -
checkTripletSetConsistency
private void checkTripletSetConsistency(java.util.Properties hdr) -
getClassAnnotation
private java.lang.String getClassAnnotation(java.lang.String className) -
getClassIdx
private int getClassIdx(java.lang.String className) -
getHdrParam
private java.lang.String getHdrParam(java.util.Properties hdr, java.lang.String paramName) -
getIncrementedIndividualName
public java.lang.String getIncrementedIndividualName(java.lang.String className) -
getLineParameter
private java.lang.String getLineParameter(java.lang.String line, int idx) -
getNumOfItemsInLine
private int getNumOfItemsInLine(java.lang.String line) -
getTripletSetHdr
private java.util.Properties getTripletSetHdr(java.util.List<java.lang.String> tripletSet) -
processTriplet
private void processTriplet(java.util.Properties hdr, java.lang.String line) throws java.io.IOException- Throws:
java.io.IOException
-
processTripletSet
private void processTripletSet(java.util.List<java.lang.String> tripletSet) throws java.io.IOException- Throws:
java.io.IOException
-
removeLeadingAndTrailingWhitespaces
private java.lang.String removeLeadingAndTrailingWhitespaces(java.lang.String s) -
showFatalErrMsgAndExit
private void showFatalErrMsgAndExit(java.lang.String fatalErrMsg)
-