d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze{- |
e9458b1a7a19a63aa4c179f9ab20f4d50681c168Jens ElknerModule : ./Logic/KnownIris.hs
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzeDescription : map of the known logics and serializations
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzeCopyright : (c) Soeren Schulze, Uni Bremen 2012
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzeLicense : GPLv2 or higher, see LICENSE.txt
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzeMaintainer : Christian.Maeder@dfki.de
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzeStability : provisional
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzePortability : portable
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze-}
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulzemodule Logic.KnownIris where
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulzeimport qualified Data.Map as Map
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzelogPrefix, serPrefix :: String
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzelogPrefix = "http://purl.net/dol/logics/"
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzeserPrefix = "http://purl.net/dol/serializations/"
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzelogicNames :: Map.Map String String
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzelogicNames = -- IRI -> local name
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze Map.fromList
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze [ (logPrefix ++ "CommonLogic", "CommonLogic"),
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze (logPrefix ++ "Propositional", "Propositional"),
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze (logPrefix ++ "OWL2", "OWL") ]
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzelookupLogicName :: String -> Maybe String
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzelookupLogicName = (`Map.lookup` logicNames)
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulzeserializations :: String -> Map.Map String String
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulzeserializations l
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze | l == "CommonLogic" =
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze Map.fromList [ (serPrefix ++ "CommonLogic/CLIF", "CLIF"),
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze (serPrefix ++ "CommonLogic/KIF", "KIF") ]
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze | l == "Propositional" =
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze Map.fromList [ (serPrefix ++ "Propositional/Hets", "Hets") ]
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze | l == "OWL" =
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze Map.fromList [ (serPrefix ++ "OWL2/Manchester", "Manchester") ]
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze | otherwise = Map.empty
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. Schulze
d0916b96ca9f90822c0bb6062b13d5de83bf410aSoeren D. SchulzelookupSerialization :: String -> String -> Maybe String
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von SchroederlookupSerialization l = (`Map.lookup` serializations l)