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

Instances details
Eq NumberRestrictions Source # 
Instance details

Defined in OWL2.Sublogic

Data NumberRestrictions Source # 
Instance details

Defined in OWL2.Sublogic

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 :: forall r r'. (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 # 
Instance details

Defined in OWL2.Sublogic

Show NumberRestrictions Source # 
Instance details

Defined in OWL2.Sublogic

Methods

showsPrec :: Int -> NumberRestrictions -> ShowS

show :: NumberRestrictions -> String

showList :: [NumberRestrictions] -> ShowS

Generic NumberRestrictions 
Instance details

Defined in OWL2.ATC_OWL2

Associated Types

type Rep NumberRestrictions :: Type -> Type

FromJSON NumberRestrictions 
Instance details

Defined in OWL2.ATC_OWL2

Methods

parseJSON :: Value -> Parser NumberRestrictions

parseJSONList :: Value -> Parser [NumberRestrictions]

ToJSON NumberRestrictions 
Instance details

Defined in OWL2.ATC_OWL2

ShATermConvertible NumberRestrictions 
Instance details

Defined in OWL2.ATC_OWL2

Methods

toShATermAux :: ATermTable -> NumberRestrictions -> IO (ATermTable, Int)

toShATermList' :: ATermTable -> [NumberRestrictions] -> IO (ATermTable, Int)

fromShATermAux :: Int -> ATermTable -> (ATermTable, NumberRestrictions)

fromShATermList' :: Int -> ATermTable -> (ATermTable, [NumberRestrictions])

type Rep NumberRestrictions 
Instance details

Defined in OWL2.ATC_OWL2

type Rep NumberRestrictions = D1 ('MetaData "NumberRestrictions" "OWL2.Sublogic" "main" 'False) (C1 ('MetaCons "None" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Unqualified" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Qualified" 'PrefixI 'False) (U1 :: Type -> Type)))

data OWLSub Source #

Constructors

OWLSub 

Fields

Instances

Instances details
Eq OWLSub Source # 
Instance details

Defined in OWL2.Sublogic

Methods

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

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

Data OWLSub Source # 
Instance details

Defined in OWL2.Sublogic

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 :: forall r r'. (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 # 
Instance details

Defined in OWL2.Sublogic

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 # 
Instance details

Defined in OWL2.Sublogic

Methods

showsPrec :: Int -> OWLSub -> ShowS

show :: OWLSub -> String

showList :: [OWLSub] -> ShowS

Generic OWLSub 
Instance details

Defined in OWL2.ATC_OWL2

Associated Types

type Rep OWLSub :: Type -> Type

Methods

from :: OWLSub -> Rep OWLSub x

to :: Rep OWLSub x -> OWLSub

FromJSON OWLSub 
Instance details

Defined in OWL2.ATC_OWL2

Methods

parseJSON :: Value -> Parser OWLSub

parseJSONList :: Value -> Parser [OWLSub]

ToJSON OWLSub 
Instance details

Defined in OWL2.ATC_OWL2

Methods

toJSON :: OWLSub -> Value

toEncoding :: OWLSub -> Encoding

toJSONList :: [OWLSub] -> Value

toEncodingList :: [OWLSub] -> Encoding

ShATermConvertible OWLSub 
Instance details

Defined in OWL2.ATC_OWL2

Methods

toShATermAux :: ATermTable -> OWLSub -> IO (ATermTable, Int)

toShATermList' :: ATermTable -> [OWLSub] -> IO (ATermTable, Int)

fromShATermAux :: Int -> ATermTable -> (ATermTable, OWLSub)

fromShATermList' :: Int -> ATermTable -> (ATermTable, [OWLSub])

type Rep OWLSub 
Instance details

Defined in OWL2.ATC_OWL2

type Rep OWLSub = D1 ('MetaData "OWLSub" "OWL2.Sublogic" "main" 'False) (C1 ('MetaCons "OWLSub" 'PrefixI 'True) (((S1 ('MetaSel ('Just "numberRestrictions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NumberRestrictions) :*: S1 ('MetaSel ('Just "nominals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "inverseRoles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "roleTransitivity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "roleHierarchy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "complexRoleInclusions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "addFeatures") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "datatype") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set Datatype)) :*: (S1 ('MetaSel ('Just "rules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "unrestrictedDL") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

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