Hets - the Heterogeneous Tool Set

CopyrightFelix Gabriel Mance
LicenseGPLv2 or higher, see LICENSE.txt
Maintainerf.mance@jacobs-university.de
Stabilityprovisional
Portabilityportable
Safe HaskellNone

OWL2.StaticAnalysis

Description

Static analysis for OWL 2

Synopsis

Documentation

failMsg :: Entity -> ClassExpression -> Result a

Error messages for static analysis

checkEntity :: Sign -> Entity -> Result ()

checks if an entity is in the signature

correctEntity :: Sign -> IRI -> [Entity]

takes an iri and finds out what entities it belongs to

filterObjProp :: Sign -> [ObjectPropertyExpression] -> [ObjectPropertyExpression]

takes a list of object properties and discards the ones which are not in the signature

checkDataRange :: Sign -> DataRange -> Result ()

checks if a DataRange is valid

classExpressionToDataRange :: Sign -> ClassExpression -> Result DataRange

converts ClassExpression to DataRanges because some DataProperties may be parsed as ObjectProperties

checkClassExpression :: Sign -> ClassExpression -> Result ClassExpression

checks a ClassExpression and recursively converts the (maybe inappropriately) parsed syntax to a one satisfying the signature

checkHasKey :: Sign -> [ObjectPropertyExpression] -> [DataPropertyExpression] -> Result AnnFrameBit

sorts the data and object properties

checkAnnoList :: Sign -> ([t] -> Result ()) -> [(Annotations, t)] -> Result ()

checkAxiom :: Sign -> Axiom -> Result [Axiom]

corrects the axiom according to the signature

checkFrame :: Sign -> Frame -> Result [Frame]

checks a frame and applies desired changes

createSign :: [Frame] -> State Sign ()

collects all entites from the frames

createAxioms :: Sign -> [Frame] -> Result ([Named Axiom], [Frame])

corrects the axioms according to the signature

basicOWL2Analysis :: (OntologyDocument, Sign, GlobalAnnos) -> Result (OntologyDocument, ExtSign Sign Entity, [Named Axiom])

static analysis of ontology with incoming sign.

generateLabelMap :: Sign -> [Frame] -> Map IRI String

extrace labels from Frame-List (after processing with correctFrames)

anaAxiom :: Axiom -> Named Axiom

adding annotations for theorems