Hets - the Heterogeneous Tool Set

Copyright(c) Dominik Luecke Felix Gabriel Mance
LicenseGPLv2 or higher, see LICENSE.txt
Maintainerf.mance@jacobs-university.de
Stabilityprovisional
Portabilityportable
Safe HaskellNone

OWL2.Sublogic

Description

Complexity analysis of OWL2

Synopsis

Documentation

data NumberRestrictions Source #

Constructors

None 
Unqualified 
Qualified 

Instances

Eq NumberRestrictions Source # 
Data NumberRestrictions Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NumberRestrictions -> c NumberRestrictions

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NumberRestrictions

toConstr :: NumberRestrictions -> Constr

dataTypeOf :: NumberRestrictions -> DataType

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c NumberRestrictions)

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NumberRestrictions)

gmapT :: (forall b. Data b => b -> b) -> NumberRestrictions -> NumberRestrictions

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NumberRestrictions -> r

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NumberRestrictions -> r

gmapQ :: (forall d. Data d => d -> u) -> NumberRestrictions -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> NumberRestrictions -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NumberRestrictions -> m NumberRestrictions

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NumberRestrictions -> m NumberRestrictions

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NumberRestrictions -> m NumberRestrictions

Ord NumberRestrictions Source # 
Show NumberRestrictions Source # 

Methods

showsPrec :: Int -> NumberRestrictions -> ShowS

show :: NumberRestrictions -> String

showList :: [NumberRestrictions] -> ShowS

data OWLSub Source #

Constructors

OWLSub 

Fields

Instances

Eq OWLSub Source # 

Methods

(==) :: OWLSub -> OWLSub -> Bool

(/=) :: OWLSub -> OWLSub -> Bool

Data OWLSub Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OWLSub -> c OWLSub

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OWLSub

toConstr :: OWLSub -> Constr

dataTypeOf :: OWLSub -> DataType

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c OWLSub)

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OWLSub)

gmapT :: (forall b. Data b => b -> b) -> OWLSub -> OWLSub

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OWLSub -> r

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OWLSub -> r

gmapQ :: (forall d. Data d => d -> u) -> OWLSub -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> OWLSub -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OWLSub -> m OWLSub

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OWLSub -> m OWLSub

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OWLSub -> m OWLSub

Ord OWLSub Source # 

Methods

compare :: OWLSub -> OWLSub -> Ordering

(<) :: OWLSub -> OWLSub -> Bool

(<=) :: OWLSub -> OWLSub -> Bool

(>) :: OWLSub -> OWLSub -> Bool

(>=) :: OWLSub -> OWLSub -> Bool

max :: OWLSub -> OWLSub -> OWLSub

min :: OWLSub -> OWLSub -> OWLSub

Show OWLSub Source # 

Methods

showsPrec :: Int -> OWLSub -> ShowS

show :: OWLSub -> String

showList :: [OWLSub] -> ShowS

slTop :: OWLSub Source #

sROIQ(D)

slMaxs :: Foldable t => t OWLSub -> OWLSub Source #

slName :: OWLSub -> String Source #

Naming for Description Logics

slIndividuals :: [Individual] -> OWLSub Source #

Checks anonymous individuals Anonymous individuals are not allowed in some place in OWL2 DL

slGeneralRestrictions :: [Axiom] -> OWLSub Source #

Checks only for general restrictions

slGDatatypes :: [(Datatype, DataRange)] -> OWLSub Source #

Analyses the datatypes for a circle in their definition

type Graph a = Map a (Set a) Source #

addEdge :: Ord a => a -> a -> Graph a -> Graph a Source #

connected :: Ord a => a -> Graph a -> Set a Source #

connected x g yields all nodes connected to x with an edge in g

isCyclicU :: Ord a => Graph a -> Bool Source #

Checks whether an undirected graph is cyclic

isCyclicD :: Ord a => Graph a -> Bool Source #

isCyclic' :: Ord a => Bool -> Graph a -> a -> Maybe a -> Set a -> (Bool, Set a) Source #

isCyclic' directed g v p r checks if a cycle can be found in g starting at vertex v with parent p and not visited vertices r

forest :: Ord a => Graph a -> Forest a Source #

forest g Given that g is acyclic, transforms g to a forest

reachable :: Ord a => a -> Graph a -> Set a Source #

reachable r g returns all reachable nodes from r in g

reachable' :: Ord a => Graph a -> Set a -> a -> Set a Source #

reachable' g visited r returns all reachable unvisited nodes from r in g

inverse :: Ord a => Graph a -> Graph a Source #

components :: Ord a => Graph a -> [Graph a] Source #

components g gets the components of g

buildTree :: Ord a => Graph a -> a -> (Tree a, Graph a) Source #

buildTree g r given that g is acyclic, transforms g into a tree with r as root node and returns the remaining graph

isCyclic :: [SCC a] -> Bool Source #

Whether a direct graph is cyclic

containsCircle :: Int -> [SCC a] -> Bool Source #

containsCircle len comps Checks whether comps contain a circle of min length len

objectPropertyHierachy :: [Axiom] -> Graph ObjectPropertyExpression Source #

Extracts the object property hierachy as an adjacency list.

Each object property expression has an edge according to https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Property_Hierarchy_and_Simple_Object_Property_Expressions

complexObjectProperties :: [Axiom] -> Set ObjectPropertyExpression Source #

All object properties in a set of axioms that are not simple