{-# LANGUAGE DeriveDataTypeable #-}
{- |
Module      :  ./OWL2/Symbols.hs
Copyright   :  (c) Felix Gabriel Mance
License     :  GPLv2 or higher, see LICENSE.txt

Maintainer  :  f.mance@jacobs-university.de
Stability   :  provisional
Portability :  portable

Symbol items for Hets
-}

module OWL2.Symbols where

import OWL2.AS
import Common.IRI
import Common.Id (Id)

import Data.Data

-- * SYMBOL ITEMS FOR HETS

data ExtEntityType = AnyEntity | PrefixO | EntityType EntityType
  deriving (Int -> ExtEntityType -> ShowS
[ExtEntityType] -> ShowS
ExtEntityType -> String
(Int -> ExtEntityType -> ShowS)
-> (ExtEntityType -> String)
-> ([ExtEntityType] -> ShowS)
-> Show ExtEntityType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtEntityType] -> ShowS
$cshowList :: [ExtEntityType] -> ShowS
show :: ExtEntityType -> String
$cshow :: ExtEntityType -> String
showsPrec :: Int -> ExtEntityType -> ShowS
$cshowsPrec :: Int -> ExtEntityType -> ShowS
Show, ExtEntityType -> ExtEntityType -> Bool
(ExtEntityType -> ExtEntityType -> Bool)
-> (ExtEntityType -> ExtEntityType -> Bool) -> Eq ExtEntityType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtEntityType -> ExtEntityType -> Bool
$c/= :: ExtEntityType -> ExtEntityType -> Bool
== :: ExtEntityType -> ExtEntityType -> Bool
$c== :: ExtEntityType -> ExtEntityType -> Bool
Eq, Eq ExtEntityType
Eq ExtEntityType =>
(ExtEntityType -> ExtEntityType -> Ordering)
-> (ExtEntityType -> ExtEntityType -> Bool)
-> (ExtEntityType -> ExtEntityType -> Bool)
-> (ExtEntityType -> ExtEntityType -> Bool)
-> (ExtEntityType -> ExtEntityType -> Bool)
-> (ExtEntityType -> ExtEntityType -> ExtEntityType)
-> (ExtEntityType -> ExtEntityType -> ExtEntityType)
-> Ord ExtEntityType
ExtEntityType -> ExtEntityType -> Bool
ExtEntityType -> ExtEntityType -> Ordering
ExtEntityType -> ExtEntityType -> ExtEntityType
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ExtEntityType -> ExtEntityType -> ExtEntityType
$cmin :: ExtEntityType -> ExtEntityType -> ExtEntityType
max :: ExtEntityType -> ExtEntityType -> ExtEntityType
$cmax :: ExtEntityType -> ExtEntityType -> ExtEntityType
>= :: ExtEntityType -> ExtEntityType -> Bool
$c>= :: ExtEntityType -> ExtEntityType -> Bool
> :: ExtEntityType -> ExtEntityType -> Bool
$c> :: ExtEntityType -> ExtEntityType -> Bool
<= :: ExtEntityType -> ExtEntityType -> Bool
$c<= :: ExtEntityType -> ExtEntityType -> Bool
< :: ExtEntityType -> ExtEntityType -> Bool
$c< :: ExtEntityType -> ExtEntityType -> Bool
compare :: ExtEntityType -> ExtEntityType -> Ordering
$ccompare :: ExtEntityType -> ExtEntityType -> Ordering
$cp1Ord :: Eq ExtEntityType
Ord, Typeable, Typeable ExtEntityType
Constr
DataType
Typeable ExtEntityType =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> ExtEntityType -> c ExtEntityType)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c ExtEntityType)
-> (ExtEntityType -> Constr)
-> (ExtEntityType -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c ExtEntityType))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c ExtEntityType))
-> ((forall b. Data b => b -> b) -> ExtEntityType -> ExtEntityType)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> ExtEntityType -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> ExtEntityType -> r)
-> (forall u. (forall d. Data d => d -> u) -> ExtEntityType -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> ExtEntityType -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> ExtEntityType -> m ExtEntityType)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> ExtEntityType -> m ExtEntityType)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> ExtEntityType -> m ExtEntityType)
-> Data ExtEntityType
ExtEntityType -> Constr
ExtEntityType -> DataType
(forall b. Data b => b -> b) -> ExtEntityType -> ExtEntityType
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtEntityType -> c ExtEntityType
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtEntityType
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> ExtEntityType -> u
forall u. (forall d. Data d => d -> u) -> ExtEntityType -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ExtEntityType -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ExtEntityType -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> ExtEntityType -> m ExtEntityType
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> ExtEntityType -> m ExtEntityType
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtEntityType
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtEntityType -> c ExtEntityType
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c ExtEntityType)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c ExtEntityType)
$cEntityType :: Constr
$cPrefixO :: Constr
$cAnyEntity :: Constr
$tExtEntityType :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> ExtEntityType -> m ExtEntityType
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> ExtEntityType -> m ExtEntityType
gmapMp :: (forall d. Data d => d -> m d) -> ExtEntityType -> m ExtEntityType
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> ExtEntityType -> m ExtEntityType
gmapM :: (forall d. Data d => d -> m d) -> ExtEntityType -> m ExtEntityType
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> ExtEntityType -> m ExtEntityType
gmapQi :: Int -> (forall d. Data d => d -> u) -> ExtEntityType -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ExtEntityType -> u
gmapQ :: (forall d. Data d => d -> u) -> ExtEntityType -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> ExtEntityType -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ExtEntityType -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ExtEntityType -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ExtEntityType -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ExtEntityType -> r
gmapT :: (forall b. Data b => b -> b) -> ExtEntityType -> ExtEntityType
$cgmapT :: (forall b. Data b => b -> b) -> ExtEntityType -> ExtEntityType
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c ExtEntityType)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c ExtEntityType)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c ExtEntityType)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c ExtEntityType)
dataTypeOf :: ExtEntityType -> DataType
$cdataTypeOf :: ExtEntityType -> DataType
toConstr :: ExtEntityType -> Constr
$ctoConstr :: ExtEntityType -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtEntityType
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtEntityType
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtEntityType -> c ExtEntityType
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtEntityType -> c ExtEntityType
$cp1Data :: Typeable ExtEntityType
Data)

data SymbItems = SymbItems ExtEntityType [IRI]
    deriving (Int -> SymbItems -> ShowS
[SymbItems] -> ShowS
SymbItems -> String
(Int -> SymbItems -> ShowS)
-> (SymbItems -> String)
-> ([SymbItems] -> ShowS)
-> Show SymbItems
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SymbItems] -> ShowS
$cshowList :: [SymbItems] -> ShowS
show :: SymbItems -> String
$cshow :: SymbItems -> String
showsPrec :: Int -> SymbItems -> ShowS
$cshowsPrec :: Int -> SymbItems -> ShowS
Show, SymbItems -> SymbItems -> Bool
(SymbItems -> SymbItems -> Bool)
-> (SymbItems -> SymbItems -> Bool) -> Eq SymbItems
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SymbItems -> SymbItems -> Bool
$c/= :: SymbItems -> SymbItems -> Bool
== :: SymbItems -> SymbItems -> Bool
$c== :: SymbItems -> SymbItems -> Bool
Eq, Typeable, Typeable SymbItems
Constr
DataType
Typeable SymbItems =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> SymbItems -> c SymbItems)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c SymbItems)
-> (SymbItems -> Constr)
-> (SymbItems -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c SymbItems))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbItems))
-> ((forall b. Data b => b -> b) -> SymbItems -> SymbItems)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> SymbItems -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> SymbItems -> r)
-> (forall u. (forall d. Data d => d -> u) -> SymbItems -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> SymbItems -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> SymbItems -> m SymbItems)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> SymbItems -> m SymbItems)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> SymbItems -> m SymbItems)
-> Data SymbItems
SymbItems -> Constr
SymbItems -> DataType
(forall b. Data b => b -> b) -> SymbItems -> SymbItems
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SymbItems -> c SymbItems
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SymbItems
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> SymbItems -> u
forall u. (forall d. Data d => d -> u) -> SymbItems -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> SymbItems -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> SymbItems -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> SymbItems -> m SymbItems
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> SymbItems -> m SymbItems
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SymbItems
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SymbItems -> c SymbItems
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c SymbItems)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbItems)
$cSymbItems :: Constr
$tSymbItems :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> SymbItems -> m SymbItems
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> SymbItems -> m SymbItems
gmapMp :: (forall d. Data d => d -> m d) -> SymbItems -> m SymbItems
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> SymbItems -> m SymbItems
gmapM :: (forall d. Data d => d -> m d) -> SymbItems -> m SymbItems
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> SymbItems -> m SymbItems
gmapQi :: Int -> (forall d. Data d => d -> u) -> SymbItems -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> SymbItems -> u
gmapQ :: (forall d. Data d => d -> u) -> SymbItems -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> SymbItems -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> SymbItems -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> SymbItems -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> SymbItems -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> SymbItems -> r
gmapT :: (forall b. Data b => b -> b) -> SymbItems -> SymbItems
$cgmapT :: (forall b. Data b => b -> b) -> SymbItems -> SymbItems
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbItems)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbItems)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c SymbItems)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c SymbItems)
dataTypeOf :: SymbItems -> DataType
$cdataTypeOf :: SymbItems -> DataType
toConstr :: SymbItems -> Constr
$ctoConstr :: SymbItems -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SymbItems
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SymbItems
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SymbItems -> c SymbItems
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SymbItems -> c SymbItems
$cp1Data :: Typeable SymbItems
Data)

symbItemsName :: SymbItems -> [String]
symbItemsName :: SymbItems -> [String]
symbItemsName (SymbItems _ iris :: [IRI]
iris) = 
 (IRI -> String) -> [IRI] -> [String]
forall a b. (a -> b) -> [a] -> [b]
map IRI -> String
showIRI [IRI]
iris

data SymbMapItems = SymbMapItems ExtEntityType [(IRI, Maybe IRI)]
    deriving (Int -> SymbMapItems -> ShowS
[SymbMapItems] -> ShowS
SymbMapItems -> String
(Int -> SymbMapItems -> ShowS)
-> (SymbMapItems -> String)
-> ([SymbMapItems] -> ShowS)
-> Show SymbMapItems
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SymbMapItems] -> ShowS
$cshowList :: [SymbMapItems] -> ShowS
show :: SymbMapItems -> String
$cshow :: SymbMapItems -> String
showsPrec :: Int -> SymbMapItems -> ShowS
$cshowsPrec :: Int -> SymbMapItems -> ShowS
Show, SymbMapItems -> SymbMapItems -> Bool
(SymbMapItems -> SymbMapItems -> Bool)
-> (SymbMapItems -> SymbMapItems -> Bool) -> Eq SymbMapItems
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SymbMapItems -> SymbMapItems -> Bool
$c/= :: SymbMapItems -> SymbMapItems -> Bool
== :: SymbMapItems -> SymbMapItems -> Bool
$c== :: SymbMapItems -> SymbMapItems -> Bool
Eq, Typeable, Typeable SymbMapItems
Constr
DataType
Typeable SymbMapItems =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> SymbMapItems -> c SymbMapItems)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c SymbMapItems)
-> (SymbMapItems -> Constr)
-> (SymbMapItems -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c SymbMapItems))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c SymbMapItems))
-> ((forall b. Data b => b -> b) -> SymbMapItems -> SymbMapItems)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> SymbMapItems -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> SymbMapItems -> r)
-> (forall u. (forall d. Data d => d -> u) -> SymbMapItems -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> SymbMapItems -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> SymbMapItems -> m SymbMapItems)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> SymbMapItems -> m SymbMapItems)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> SymbMapItems -> m SymbMapItems)
-> Data SymbMapItems
SymbMapItems -> Constr
SymbMapItems -> DataType
(forall b. Data b => b -> b) -> SymbMapItems -> SymbMapItems
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SymbMapItems -> c SymbMapItems
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SymbMapItems
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> SymbMapItems -> u
forall u. (forall d. Data d => d -> u) -> SymbMapItems -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> SymbMapItems -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> SymbMapItems -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> SymbMapItems -> m SymbMapItems
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> SymbMapItems -> m SymbMapItems
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SymbMapItems
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SymbMapItems -> c SymbMapItems
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c SymbMapItems)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c SymbMapItems)
$cSymbMapItems :: Constr
$tSymbMapItems :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> SymbMapItems -> m SymbMapItems
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> SymbMapItems -> m SymbMapItems
gmapMp :: (forall d. Data d => d -> m d) -> SymbMapItems -> m SymbMapItems
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> SymbMapItems -> m SymbMapItems
gmapM :: (forall d. Data d => d -> m d) -> SymbMapItems -> m SymbMapItems
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> SymbMapItems -> m SymbMapItems
gmapQi :: Int -> (forall d. Data d => d -> u) -> SymbMapItems -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> SymbMapItems -> u
gmapQ :: (forall d. Data d => d -> u) -> SymbMapItems -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> SymbMapItems -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> SymbMapItems -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> SymbMapItems -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> SymbMapItems -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> SymbMapItems -> r
gmapT :: (forall b. Data b => b -> b) -> SymbMapItems -> SymbMapItems
$cgmapT :: (forall b. Data b => b -> b) -> SymbMapItems -> SymbMapItems
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c SymbMapItems)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c SymbMapItems)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c SymbMapItems)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c SymbMapItems)
dataTypeOf :: SymbMapItems -> DataType
$cdataTypeOf :: SymbMapItems -> DataType
toConstr :: SymbMapItems -> Constr
$ctoConstr :: SymbMapItems -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SymbMapItems
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SymbMapItems
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SymbMapItems -> c SymbMapItems
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SymbMapItems -> c SymbMapItems
$cp1Data :: Typeable SymbMapItems
Data)

-- | raw symbols
data RawSymb = ASymbol Entity | AnUri IRI | APrefix String
    deriving (Int -> RawSymb -> ShowS
[RawSymb] -> ShowS
RawSymb -> String
(Int -> RawSymb -> ShowS)
-> (RawSymb -> String) -> ([RawSymb] -> ShowS) -> Show RawSymb
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RawSymb] -> ShowS
$cshowList :: [RawSymb] -> ShowS
show :: RawSymb -> String
$cshow :: RawSymb -> String
showsPrec :: Int -> RawSymb -> ShowS
$cshowsPrec :: Int -> RawSymb -> ShowS
Show, RawSymb -> RawSymb -> Bool
(RawSymb -> RawSymb -> Bool)
-> (RawSymb -> RawSymb -> Bool) -> Eq RawSymb
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RawSymb -> RawSymb -> Bool
$c/= :: RawSymb -> RawSymb -> Bool
== :: RawSymb -> RawSymb -> Bool
$c== :: RawSymb -> RawSymb -> Bool
Eq, Eq RawSymb
Eq RawSymb =>
(RawSymb -> RawSymb -> Ordering)
-> (RawSymb -> RawSymb -> Bool)
-> (RawSymb -> RawSymb -> Bool)
-> (RawSymb -> RawSymb -> Bool)
-> (RawSymb -> RawSymb -> Bool)
-> (RawSymb -> RawSymb -> RawSymb)
-> (RawSymb -> RawSymb -> RawSymb)
-> Ord RawSymb
RawSymb -> RawSymb -> Bool
RawSymb -> RawSymb -> Ordering
RawSymb -> RawSymb -> RawSymb
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: RawSymb -> RawSymb -> RawSymb
$cmin :: RawSymb -> RawSymb -> RawSymb
max :: RawSymb -> RawSymb -> RawSymb
$cmax :: RawSymb -> RawSymb -> RawSymb
>= :: RawSymb -> RawSymb -> Bool
$c>= :: RawSymb -> RawSymb -> Bool
> :: RawSymb -> RawSymb -> Bool
$c> :: RawSymb -> RawSymb -> Bool
<= :: RawSymb -> RawSymb -> Bool
$c<= :: RawSymb -> RawSymb -> Bool
< :: RawSymb -> RawSymb -> Bool
$c< :: RawSymb -> RawSymb -> Bool
compare :: RawSymb -> RawSymb -> Ordering
$ccompare :: RawSymb -> RawSymb -> Ordering
$cp1Ord :: Eq RawSymb
Ord, Typeable, Typeable RawSymb
Constr
DataType
Typeable RawSymb =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> RawSymb -> c RawSymb)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c RawSymb)
-> (RawSymb -> Constr)
-> (RawSymb -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c RawSymb))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RawSymb))
-> ((forall b. Data b => b -> b) -> RawSymb -> RawSymb)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> RawSymb -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> RawSymb -> r)
-> (forall u. (forall d. Data d => d -> u) -> RawSymb -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> RawSymb -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> RawSymb -> m RawSymb)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> RawSymb -> m RawSymb)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> RawSymb -> m RawSymb)
-> Data RawSymb
RawSymb -> Constr
RawSymb -> DataType
(forall b. Data b => b -> b) -> RawSymb -> RawSymb
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RawSymb -> c RawSymb
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RawSymb
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> RawSymb -> u
forall u. (forall d. Data d => d -> u) -> RawSymb -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RawSymb -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RawSymb -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RawSymb -> m RawSymb
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RawSymb -> m RawSymb
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RawSymb
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RawSymb -> c RawSymb
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RawSymb)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RawSymb)
$cAPrefix :: Constr
$cAnUri :: Constr
$cASymbol :: Constr
$tRawSymb :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> RawSymb -> m RawSymb
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RawSymb -> m RawSymb
gmapMp :: (forall d. Data d => d -> m d) -> RawSymb -> m RawSymb
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RawSymb -> m RawSymb
gmapM :: (forall d. Data d => d -> m d) -> RawSymb -> m RawSymb
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RawSymb -> m RawSymb
gmapQi :: Int -> (forall d. Data d => d -> u) -> RawSymb -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> RawSymb -> u
gmapQ :: (forall d. Data d => d -> u) -> RawSymb -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> RawSymb -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RawSymb -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RawSymb -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RawSymb -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RawSymb -> r
gmapT :: (forall b. Data b => b -> b) -> RawSymb -> RawSymb
$cgmapT :: (forall b. Data b => b -> b) -> RawSymb -> RawSymb
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RawSymb)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RawSymb)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c RawSymb)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RawSymb)
dataTypeOf :: RawSymb -> DataType
$cdataTypeOf :: RawSymb -> DataType
toConstr :: RawSymb -> Constr
$ctoConstr :: RawSymb -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RawSymb
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RawSymb
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RawSymb -> c RawSymb
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RawSymb -> c RawSymb
$cp1Data :: Typeable RawSymb
Data)

idToRaw :: Id -> RawSymb
idToRaw :: Id -> RawSymb
idToRaw = IRI -> RawSymb
AnUri (IRI -> RawSymb) -> (Id -> IRI) -> Id -> RawSymb
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Id -> IRI
idToIRI