swish-0.6.2.1: src/Swish/RDF/Vocabulary/FOAF.hs
{-# LANGUAGE OverloadedStrings #-}
--------------------------------------------------------------------------------
-- See end of this file for licence information.
--------------------------------------------------------------------------------
-- |
-- Module : Swish.RDF.Vocabulary.FOAF
-- Copyright : (c) 2011 Douglas Burke
-- License : GPL V2
--
-- Maintainer : Douglas Burke
-- Stability : experimental
-- Portability : OverloadedStrings
--
-- This module defines some commonly used vocabulary terms from the FOAF
-- vocabulary (<http://xmlns.com/foaf/spec/>).
--
-- Note that unlike some of the existing vocabularies in Swish, the FOAF
-- one matches the case and spelling of the RDF terms; so we
-- use 'foafbased_near'
-- rather than @foafBasedNear@. This is partly because some terms would
-- end up with the same Haskell label if a conversion to camel-case wer
-- used.
--
--------------------------------------------------------------------------------
module Swish.RDF.Vocabulary.FOAF
(
-- | The version used for this module is
-- \"FOAF Vocabulary Specification 0.98 Namespace Document 9 August 2010 - /Marco Polo Edition/\",
-- <http://xmlns.com/foaf/spec/20100809.html>.
namespaceFOAF
-- * Classes
, foafAgent
, foafDocument
, foafGroup
, foafImage
, foafLabelProperty
, foafOnlineAccount
, foafOnlineChatAccount
, foafOnlineEcommerceAccount
, foafOnlineGamingAccount
, foafOrganization
, foafPerson
, foafPersonalProfileDocument
, foafProject
-- * Properties
, foafaccount
, foafaccountName
, foafaccountServiceHomepage
, foafage
, foafaimChatID
, foafbased_near
, foafbirthday
, foafcurrentProject
, foafdepiction
, foafdepicts
, foafdnaChecksum
, foaffamilyName
, foaffamily_name
, foaffirstName
, foaffocus
, foaffundedBy
, foafgeekcode
, foafgender
, foafgivenName
, foafgivenname
, foafholdsAccount
, foafhomepage
, foaficqChatID
, foafimg
, foafinterest
, foafisPrimaryTopicOf
, foafjabberID
, foafknows
, foaflastName
, foaflogo
, foafmade
, foafmaker
, foafmbox
, foafmbox_sha1sum
, foafmember
, foafmembershipClass
, foafmsnChatID
, foafmyersBriggs
, foafname
, foafnick
, foafopenid
, foafpage
, foafpastProject
, foafphone
, foafplan
, foafprimaryTopic
, foafpublications
, foafschoolHomepage
, foafsha1
, foafskypeID
, foafstatus
, foafsurname
, foaftheme
, foafthumbnail
, foaftipjar
, foaftitle
, foaftopic
, foaftopic_interest
, foafweblog
, foafworkInfoHomepage
, foafworkplaceHomepage
, foafyahooChatID
)
where
import Swish.Utils.Namespace (Namespace, makeNamespace, ScopedName, makeNSScopedName)
import Data.Maybe (fromMaybe)
import Network.URI (URI, parseURI)
import qualified Data.Text as T
------------------------------------------------------------
-- Namespace
------------------------------------------------------------
foafURI :: URI
foafURI = fromMaybe (error "Internal error processing FOAF URI") $ parseURI "http://xmlns.com/foaf/0.1/"
-- | Maps @foaf@ to <http://xmlns.com/foaf/0.1/>.
namespaceFOAF :: Namespace
namespaceFOAF = makeNamespace (Just "foaf") foafURI
------------------------------------------------------------
-- Terms
------------------------------------------------------------
toF :: T.Text -> ScopedName
toF = makeNSScopedName namespaceFOAF
-- Classes
-- | @foaf:Agent@ from <http://xmlns.com/foaf/spec/#term_Agent>.
foafAgent :: ScopedName
foafAgent = toF "Agent"
-- | @foaf:Document@ from <http://xmlns.com/foaf/spec/#term_Document>.
foafDocument :: ScopedName
foafDocument = toF "Document"
-- | @foaf:Group@ from <http://xmlns.com/foaf/spec/#term_Group>.
foafGroup :: ScopedName
foafGroup = toF "Group"
-- | @foaf:Image@ from <http://xmlns.com/foaf/spec/#term_Image>.
foafImage :: ScopedName
foafImage = toF "Image"
-- | @foaf:LabelProperty@ from <http://xmlns.com/foaf/spec/#term_LabelProperty>.
foafLabelProperty :: ScopedName
foafLabelProperty = toF "LabelProperty"
-- | @foaf:OnlineAccount@ from <http://xmlns.com/foaf/spec/#term_OnlineAccount>.
foafOnlineAccount :: ScopedName
foafOnlineAccount = toF "OnlineAccount"
-- | @foaf:OnlineChatAccount@ from <http://xmlns.com/foaf/spec/#term_OnlineChatAccount>.
foafOnlineChatAccount :: ScopedName
foafOnlineChatAccount = toF "OnlineChatAccount"
-- | @foaf:OnlineEcommerceAccount@ from <http://xmlns.com/foaf/spec/#term_OnlineEcommerceAccount>.
foafOnlineEcommerceAccount :: ScopedName
foafOnlineEcommerceAccount = toF "OnlineEcommerceAccount"
-- | @foaf:OnlineGamingAccount@ from <http://xmlns.com/foaf/spec/#term_OnlineGamingAccount>.
foafOnlineGamingAccount :: ScopedName
foafOnlineGamingAccount = toF "OnlineGamingAccount"
-- | @foaf:Organization@ from <http://xmlns.com/foaf/spec/#term_Organization>.
foafOrganization :: ScopedName
foafOrganization = toF "Organization"
-- | @foaf:Person@ from <http://xmlns.com/foaf/spec/#term_Person>.
foafPerson :: ScopedName
foafPerson = toF "Person"
-- | @foaf:PersonalProfileDocument@ from <http://xmlns.com/foaf/spec/#term_PersonalProfileDocument>.
foafPersonalProfileDocument :: ScopedName
foafPersonalProfileDocument = toF "PersonalProfileDocument"
-- | @foaf:Project@ from <http://xmlns.com/foaf/spec/#term_Project>.
foafProject :: ScopedName
foafProject = toF "Project"
-- Properties
-- | @foaf:account@ from <http://xmlns.com/foaf/spec/#term_account>.
foafaccount :: ScopedName
foafaccount = toF "account"
-- | @foaf:accountName@ from <http://xmlns.com/foaf/spec/#term_accountName>.
foafaccountName :: ScopedName
foafaccountName = toF "accountName"
-- | @foaf:accountServiceHomepage@ from <http://xmlns.com/foaf/spec/#term_accountServiceHomepage>.
foafaccountServiceHomepage :: ScopedName
foafaccountServiceHomepage = toF "accountServiceHomepage"
-- | @foaf:age@ from <http://xmlns.com/foaf/spec/#term_age>.
foafage :: ScopedName
foafage = toF "age"
-- | @foaf:aimChatID@ from <http://xmlns.com/foaf/spec/#term_aimChatID>.
foafaimChatID :: ScopedName
foafaimChatID = toF "aimChatID"
-- | @foaf:based_near@ from <http://xmlns.com/foaf/spec/#term_based_near>.
foafbased_near :: ScopedName
foafbased_near = toF "based_near"
-- | @foaf:birthday@ from <http://xmlns.com/foaf/spec/#term_birthday>.
foafbirthday :: ScopedName
foafbirthday = toF "birthday"
-- | @foaf:currentProject@ from <http://xmlns.com/foaf/spec/#term_currentProject>.
foafcurrentProject :: ScopedName
foafcurrentProject = toF "currentProject"
-- | @foaf:depiction@ from <http://xmlns.com/foaf/spec/#term_depiction>.
foafdepiction :: ScopedName
foafdepiction = toF "depiction"
-- | @foaf:depicts@ from <http://xmlns.com/foaf/spec/#term_depicts>.
foafdepicts :: ScopedName
foafdepicts = toF "depicts"
-- | @foaf:dnaChecksum@ from <http://xmlns.com/foaf/spec/#term_dnaChecksum>.
foafdnaChecksum :: ScopedName
foafdnaChecksum = toF "dnaChecksum"
-- | @foaf:familyName@ from <http://xmlns.com/foaf/spec/#term_familyName>.
foaffamilyName :: ScopedName
foaffamilyName = toF "familyName"
-- | @foaf:family_name@ from <http://xmlns.com/foaf/spec/#term_family_name>.
foaffamily_name :: ScopedName
foaffamily_name = toF "family_name"
-- | @foaf:firstName@ from <http://xmlns.com/foaf/spec/#term_firstName>.
foaffirstName :: ScopedName
foaffirstName = toF "firstName"
-- | @foaf:focus@ from <http://xmlns.com/foaf/spec/#term_focus>.
foaffocus :: ScopedName
foaffocus = toF "focus"
-- | @foaf:fundedBy@ from <http://xmlns.com/foaf/spec/#term_fundedBy>.
foaffundedBy :: ScopedName
foaffundedBy = toF "fundedBy"
-- | @foaf:geekcode@ from <http://xmlns.com/foaf/spec/#term_geekcode>.
foafgeekcode :: ScopedName
foafgeekcode = toF "geekcode"
-- | @foaf:gender@ from <http://xmlns.com/foaf/spec/#term_gender>.
foafgender :: ScopedName
foafgender = toF "gender"
-- | @foaf:givenName@ from <http://xmlns.com/foaf/spec/#term_givenName>.
foafgivenName :: ScopedName
foafgivenName = toF "givenName"
-- | @foaf:givenname@ from <http://xmlns.com/foaf/spec/#term_givenname>.
foafgivenname :: ScopedName
foafgivenname = toF "givenname"
-- | @foaf:holdsAccount@ from <http://xmlns.com/foaf/spec/#term_holdsAccount>.
foafholdsAccount :: ScopedName
foafholdsAccount = toF "holdsAccount"
-- | @foaf:homepage@ from <http://xmlns.com/foaf/spec/#term_homepage>.
foafhomepage :: ScopedName
foafhomepage = toF "homepage"
-- | @foaf:icqChatID@ from <http://xmlns.com/foaf/spec/#term_icqChatID>.
foaficqChatID :: ScopedName
foaficqChatID = toF "icqChatID"
-- | @foaf:img@ from <http://xmlns.com/foaf/spec/#term_img>.
foafimg :: ScopedName
foafimg = toF "img"
-- | @foaf:interest@ from <http://xmlns.com/foaf/spec/#term_interest>.
foafinterest :: ScopedName
foafinterest = toF "interest"
-- | @foaf:isPrimaryTopicOf@ from <http://xmlns.com/foaf/spec/#term_isPrimaryTopicOf>.
foafisPrimaryTopicOf :: ScopedName
foafisPrimaryTopicOf = toF "isPrimaryTopicOf"
-- | @foaf:jabberID@ from <http://xmlns.com/foaf/spec/#term_jabberID>.
foafjabberID :: ScopedName
foafjabberID = toF "jabberID"
-- | @foaf:knows@ from <http://xmlns.com/foaf/spec/#term_knows>.
foafknows :: ScopedName
foafknows = toF "knows"
-- | @foaf:lastName@ from <http://xmlns.com/foaf/spec/#term_lastName>.
foaflastName :: ScopedName
foaflastName = toF "lastName"
-- | @foaf:logo@ from <http://xmlns.com/foaf/spec/#term_logo>.
foaflogo :: ScopedName
foaflogo = toF "logo"
-- | @foaf:made@ from <http://xmlns.com/foaf/spec/#term_made>.
foafmade :: ScopedName
foafmade = toF "made"
-- | @foaf:maker@ from <http://xmlns.com/foaf/spec/#term_maker>.
foafmaker :: ScopedName
foafmaker = toF "maker"
-- | @foaf:mbox@ from <http://xmlns.com/foaf/spec/#term_mbox>.
foafmbox :: ScopedName
foafmbox = toF "mbox"
-- | @foaf:mbox_sha1sum@ from <http://xmlns.com/foaf/spec/#term_mbox_sha1sum>.
foafmbox_sha1sum :: ScopedName
foafmbox_sha1sum = toF "mbox_sha1sum"
-- | @foaf:member@ from <http://xmlns.com/foaf/spec/#term_member>.
foafmember :: ScopedName
foafmember = toF "member"
-- | @foaf:membershipClass@ from <http://xmlns.com/foaf/spec/#term_membershipClass>.
foafmembershipClass :: ScopedName
foafmembershipClass = toF "membershipClass"
-- | @foaf:msnChatID@ from <http://xmlns.com/foaf/spec/#term_msnChatID>.
foafmsnChatID :: ScopedName
foafmsnChatID = toF "msnChatID"
-- | @foaf:myersBriggs@ from <http://xmlns.com/foaf/spec/#term_myersBriggs>.
foafmyersBriggs :: ScopedName
foafmyersBriggs = toF "myersBriggs"
-- | @foaf:name@ from <http://xmlns.com/foaf/spec/#term_name>.
foafname :: ScopedName
foafname = toF "name"
-- | @foaf:nick@ from <http://xmlns.com/foaf/spec/#term_nick>.
foafnick :: ScopedName
foafnick = toF "nick"
-- | @foaf:openid@ from <http://xmlns.com/foaf/spec/#term_openid>.
foafopenid :: ScopedName
foafopenid = toF "openid"
-- | @foaf:page@ from <http://xmlns.com/foaf/spec/#term_page>.
foafpage :: ScopedName
foafpage = toF "page"
-- | @foaf:pastProject@ from <http://xmlns.com/foaf/spec/#term_pastProject>.
foafpastProject :: ScopedName
foafpastProject = toF "pastProject"
-- | @foaf:phone@ from <http://xmlns.com/foaf/spec/#term_phone>.
foafphone :: ScopedName
foafphone = toF "phone"
-- | @foaf:plan@ from <http://xmlns.com/foaf/spec/#term_plan>.
foafplan :: ScopedName
foafplan = toF "plan"
-- | @foaf:primaryTopic@ from <http://xmlns.com/foaf/spec/#term_primaryTopic>.
foafprimaryTopic :: ScopedName
foafprimaryTopic = toF "primaryTopic"
-- | @foaf:publications@ from <http://xmlns.com/foaf/spec/#term_publications>.
foafpublications :: ScopedName
foafpublications = toF "publications"
-- | @foaf:schoolHomepage@ from <http://xmlns.com/foaf/spec/#term_schoolHomepage>.
foafschoolHomepage :: ScopedName
foafschoolHomepage = toF "schoolHomepage"
-- | @foaf:sha1@ from <http://xmlns.com/foaf/spec/#term_sha1>.
foafsha1 :: ScopedName
foafsha1 = toF "sha1"
-- | @foaf:skypeID@ from <http://xmlns.com/foaf/spec/#term_skypeID>.
foafskypeID :: ScopedName
foafskypeID = toF "skypeID"
-- | @foaf:status@ from <http://xmlns.com/foaf/spec/#term_status>.
foafstatus :: ScopedName
foafstatus = toF "status"
-- | @foaf:surname@ from <http://xmlns.com/foaf/spec/#term_surname>.
foafsurname :: ScopedName
foafsurname = toF "surname"
-- | @foaf:theme@ from <http://xmlns.com/foaf/spec/#term_theme>.
foaftheme :: ScopedName
foaftheme = toF "theme"
-- | @foaf:thumbnail@ from <http://xmlns.com/foaf/spec/#term_thumbnail>.
foafthumbnail :: ScopedName
foafthumbnail = toF "thumbnail"
-- | @foaf:tipjar@ from <http://xmlns.com/foaf/spec/#term_tipjar>.
foaftipjar :: ScopedName
foaftipjar = toF "tipjar"
-- | @foaf:title@ from <http://xmlns.com/foaf/spec/#term_title>.
foaftitle :: ScopedName
foaftitle = toF "title"
-- | @foaf:topic@ from <http://xmlns.com/foaf/spec/#term_topic>.
foaftopic :: ScopedName
foaftopic = toF "topic"
-- | @foaf:topic_interest@ from <http://xmlns.com/foaf/spec/#term_topic_interest>.
foaftopic_interest :: ScopedName
foaftopic_interest = toF "topic_interest"
-- | @foaf:weblog@ from <http://xmlns.com/foaf/spec/#term_weblog>.
foafweblog :: ScopedName
foafweblog = toF "weblog"
-- | @foaf:workInfoHomepage@ from <http://xmlns.com/foaf/spec/#term_workInfoHomepage>.
foafworkInfoHomepage :: ScopedName
foafworkInfoHomepage = toF "workInfoHomepage"
-- | @foaf:workplaceHomepage@ from <http://xmlns.com/foaf/spec/#term_workplaceHomepage>.
foafworkplaceHomepage :: ScopedName
foafworkplaceHomepage = toF "workplaceHomepage"
-- | @foaf:yahooChatID@ from <http://xmlns.com/foaf/spec/#term_yahooChatID>.
foafyahooChatID :: ScopedName
foafyahooChatID = toF "yahooChatID"
--------------------------------------------------------------------------------
--
-- Copyright (c) 2011 Douglas Burke
-- All rights reserved.
--
-- This file is part of Swish.
--
-- Swish is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- Swish is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with Swish; if not, write to:
-- The Free Software Foundation, Inc.,
-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--
--------------------------------------------------------------------------------