Changelog#
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Guide]#
Added for new features.
Changed for changes in existing functionality.
Deprecated for soon-to-be removed features.
Removed for now removed features.
Fixed for any bug fixes.
Security in case of vulnerabilities.
[Unreleased] section for tracking changes prior to binning to versions.
[X.X.X] - YYYY-MM-YY for version-date header
[0.11.1] - 2025-08-12#
Added#
more contextual error message for converting graphs directly into trees
Fixed#
example on the user-guide page in the documentation
[0.11.0] - 2025-08-12#
Added#
support for other rdf-compliant datatypes supported by
rdflibprefix inference from format input
RDF file format enum
specifying format for reading and writing output
added third party-licenses to repository and documentation
Changed#
arguments for rdf and cli functions
function signature for graph conversion functions
file names referencing ttl into ones referencing rdf
updated and streamlined
README.mdfor new features
Removed#
file conversion functions:
convert_drawio_to_ttl,convert_ttl_to_drawiograph conversion functions:
convert_graph_to_ttl,convert_ttl_to_graph
[0.10.0] - 2025-08-11#
Added#
property family of exempted properties to exempt when drawing diagrams
tests for diagram error checks
error and error check for bidirectional and inverted arrows
step for assigning nested edge label values to label in
extract_elementsas its own functiontests for diagram element parsing and reading into graphs
dynamic prefix generation for literal datatypes versus previous hard-coded
xsdsupport for imported non-
xsddatatypes. Hand-coded datatypes not supported yet (issue withrdflib)
Changed#
quote substitution in shape content to general html escape substitution
parse_elementsimplementation to be more functionalmoved
parse_elementspost-processing steps andparse_elementsinto updated functionhard-coded
xsdrequirements for literal datatypeschanged from searching just
xsdtypes to entire search term pool
Deprecated#
file conversion functions:
convert_drawio_to_ttl,convert_ttl_to_drawiograph conversion functions:
convert_graph_to_ttl,convert_ttl_to_graph
Fixed#
properties not showing up as parent classes when outputting diagrams
none-type check in diagram error parsing to consider capitalized
None
[0.9.6] - 2025-08-05#
Fixed#
wrong dividing line alignment for trees without instances
[0.9.5] - 2025-08-05#
Fixed#
print statements when running
convert_drawio_to_ttl
[0.9.4] - 2025-08-05#
Added#
dynamic version number detection in CLI message
[0.9.3] - 2025-08-05#
Added#
center coordinates to
Connectordataclasscoordinate centering when rendering arrow positions (hasn’t fixed stray arrows)
Fixed#
horizontal offsets not switching in
draw_treenon-rank stratified predicates being rendered as rank terms
[0.9.2] - 2025-08-04#
Fixed#
read_diagramandconvert_graph_to_ttlnot running when using scriptsnull safety for folder variables. Get the default if not specified instead
convert_ttl_to_graphwith improper null behavior for foldersexample scripts in the example folder
[0.9.1] - 2025-08-01#
Added#
contributor
Fixed#
assign_literal_idszips with uneven lengths
[0.9.0] - 2025-08-01#
Added#
instance conformation for T-box and A-box separation for each tree
draw divider line to demarcate instance conformation for T-box and A-box separation
tree conformation to align all demarcation lines
T-box and A-box labels
box demarcation option to CLI
divider line template xml file
option for activating domain-range instance collection. Default behavior now is not to collect.
Changed#
separated
draw_diagramfromdraw_treefor future layout schemes
Fixed#
get_aliases“eating up” the label if more alt labels are providedget_severed_connectorswith a dangling function argumentsevered links not being added to the graph
severed links being in reverse when displayed on the graph
convert_drawio_to_ttlnull safety for reference folder arguments
[0.8.9] - 2025-07-25#
Added#
FAQs page for common issues and solutions
section for citations and license in about page
Changed#
adjusted
write_diagramgraph flipping for repaired orientationsupdated default arrow position calculation on
Connectordataclass to reflect repaired orientationsrepository location. The CEMENTO repository is now “owned” by the CWRU-SDLE organization
base URL for documentation. It is now in https://cwru-sdle.github.io/CEMENTO/
Fixed#
term location not printing on diagram error causing error
reversed arrow configuration on
connector.xmltemplatemissing parent content for
missingChildError
[0.8.8] - 2025-07-25#
Added#
Shape type implementation for generating shapes
New enum
ShapeTypefor determining shape type
[0.8.7] - 2025-07-24#
Added#
added new template files for class, instance, and literal
more detailed key error message for
generate_graphnull safety checks after diagram error detection in
diagram_terms_iterconnected term location and ID when outputting diagram errors
checks to ignore horizontal lines for diagram error checking
Changed#
error check to make changes are made in-place if the user is already working n a file with “error_check” on the file name
default terms in
drawio_to_ttlto use all default terms in rdflib and in default file foldersprint out triples that passed diagram checks but caught in null check in
convert_graph_to_ttlreplaced all ghost connectors with straight orthogonal connectors
Fixed#
fixed class and instance designation in graph_to_tll
fixed error message input parsing
Removed#
removed root IDs from extracted terms and relationships in extract_elements
[0.8.6] - 2025-07-24#
Added#
error check option on CLI
term content in diagram error message
defaults folder file contents to search terms
feature to remove redundant statements about default namespace terms
ability to define object properties
support for multipage inputs
feature to replace default object-property assignment to custom properties to swap with definitions if available
Changed#
domain-range
.ttloutput to single element if only oneto check errors by default
updated examples for the new version
updated figure with the new features
[0.8.5] - 2025-07-23#
Added#
package documentation on github pages
parse containers function
googe site verification
site logo and icon attribution
sitemap
reference ontology retrieval
term types for all predicates
restored error check feature on diagram, including error classes
Changed#
hand-made XSD reference to XSD namespace inside
rdflibno unique literals option to store true flag, setting no unique literals as the default behavior
file_pathargument inconver_drawio_ttlfunction toinput_path
Removed#
hand-made XSD reference
do not check option
not literal IDs
Fixed#
exact match functionality not outputting all desired properties (label and SKOS exact match)
non-bunny-eared data type string output
prefixes not being imported from file
[0.8.4] - 2025-07-20#
NOTE: The changes listed here are a catch-all between this version and all prior releases. We haven’t kept a good changelog until today, so we apologize for the broad statements to keep this document section brief.
Added#
application CLI
support for converting directly to
.ttlfiles from draw.io and vice versasupport for literals and literal annotations (language and datatype)
term matching via reference ontologies
ability to add reference ontologies
unique literal ID generation option
support for annotation types
classes-only option for drawing layouts
ability to write prefixes
tree-splitting for dealing with multiple inheritance
stratified term category (includes definitions, annotations, etc.) for prioritizing in the layout
match suppression with star keys
alias support with parenthetic notation
README instructions on CLI and scripting for new package implementation
Changed#
programmming paradigm, from an clunky OOP-based approach to a hybrid functional approach
File structure, adopting file conventions in functional programming
all prior functionality implementations except those expressly mentioned in the remove section
choosing more general category of terms to draw in the tree layout (stratified) versus just rank terms (subclass and type)
shape definitions from native classes to dataclasses
rendering shapes directly from dataclasses instead of through manual prop generation
computing arrow directions dynamically based on shape angle instead of static case-based matching
example scripts
Removed#
All functions built under the OOP-based software
shape-extent-based area diagram reading
circle-based (organic) layouts
straight-arrow and curve template files
error detection in diagram reads
defer-layout option