rationals.transformations.package.html Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.semanticweb.hermit Show documentation
Show all versions of org.semanticweb.hermit Show documentation
HermiT is reasoner for ontologies written using the Web
Ontology Language (OWL). Given an OWL file, HermiT can determine whether or
not the ontology is consistent, identify subsumption relationships between
classes, and much more.
This is the maven build of HermiT and is designed for people who wish to use
HermiT from within the OWL API. It is now versioned in the main HermiT
version repository, although not officially supported by the HermiT
developers.
The version number of this package is a composite of the HermiT version and
an value representing releases of this packaged version. So, 1.3.7.1 is the
first release of the mavenized version of HermiT based on the 1.3.7 release
of HermiT.
This package includes the Jautomata library
(http://jautomata.sourceforge.net/), and builds with it directly. This
library appears to be no longer under active development, and so a "fork"
seems appropriate. No development is intended or anticipated on this code
base.
A package containing various binary and unary operations on automaton
objects.
Documentation
This package offers a lot of standard transformations on automata objects:
- concatenation:
- concatenate two automaton so that
L(A.B) = L(A).L(B)
,
- union:
- union of two automaton ,
L(A+B) = L(A) U L(B)
,
- star closure:
- the standard kleene-closure operator,
L(A*) = epsilon U L(A).L(A*)
- minimization:
- compute the minimal - canonical - DFA from a given DFA
- determinization:
- make an automaton deterministic: Each state has at most one transition labelled with
a given letter,
- epsilon transition removals:
- Removes transition labelled with
null
while keeping the same language
- complementation:
- complement the language over the alphabet of the automaton, for an alphabet
X
,
L(-A-)=X*\L(A)
- synchronization product:
- Compute the synchronization product of two automaton, also named mixed product
- parametric intersection:
- compute the intersection of two automaton with a synchronization object,
- normalization:
- normalize an automaton: One start state, one end state, no incoming transitions
on start state
- prefix closure:
- an automaton with all states made terminal
- pruning:
- remove all states that are neither accessible from a start state nor can
reach a terminal state
- projection over an alphabet:
- remove all transitions from an automaton that are not in an alphabet
- reversal:
- reverse the language of an automaton so that it recognizes mirrored words
from the original automaton.
- shuffle product:
- compute all possible interleavings of words from two automaton
These transformations are usually not very efficient so that applying any one of them
on large automaton may yield poor performances. Possible exceptions are the epsilon
transition removal, synchronization products and intersections which compute the
results using reachable states set only so that the cartesian product of the
involved automata is not computed.
Work is underway to improve ultimately performance of this library.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy