2 Module : Gargantext.Database.Schema.NgramsPostag
3 Description : Ngram connection to the Database
4 Copyright : (c) CNRS, 2017-Present
5 License : AGPL + CECILL v3
6 Maintainer : team@gargantext.org
7 Stability : experimental
10 Each Ngrams has a pos-tagging version to ease the default groups of
11 ngrams in NgramsTerm Lists.
15 {-# LANGUAGE Arrows #-}
16 {-# LANGUAGE FunctionalDependencies #-}
17 {-# LANGUAGE QuasiQuotes #-}
18 {-# LANGUAGE TemplateHaskell #-}
20 module Gargantext.Database.Schema.NgramsPostag
24 import Data.Text (Text)
25 import Gargantext.Database.Schema.Prelude
26 import Gargantext.Prelude
27 import qualified Database.PostgreSQL.Simple as PGS
29 data NgramsPostagPoly id
36 = NgramsPostagPoly { _ngramsPostag_id :: !id
37 , _ngramsPostag_lang_id :: !lang_id
38 , _ngramsPostag_algo_id :: !algo_id
39 , _ngramsPostag_postag :: !postag
40 , _ngramsPostag_ngrams_id :: !ngrams_id
41 , _ngramsPostag_lemm_id :: !lemm_id
42 , _ngramsPostag_score :: !score
45 ------------------------------------------------------------------------
46 data PosTag = PosTag { unPosTag :: Text }
47 | NER { unNER :: Text } -- TODO
49 ------------------------------------------------------------------------
50 -- type NgramsPostag = NgramsPostagPoly (Maybe Int) Lang PostTagAlgo (Maybe PosTag) NgramsTerm NgramsTerm (Maybe Int)
51 type NgramsPostagDB = NgramsPostagPoly (Maybe Int) Int Int (Maybe Text) Int Int Int
53 ------------------------------------------------------------------------
54 type NgramsPosTagWrite = NgramsPostagPoly (Maybe (Column PGInt4))
57 (Maybe (Column PGText))
60 (Maybe (Column PGInt4))
62 type NgramsPosTagRead = NgramsPostagPoly (Column PGInt4)
70 type NgramsPosTagReadNull = NgramsPostagPoly (Column (Nullable PGInt4))
71 (Column (Nullable PGInt4))
72 (Column (Nullable PGInt4))
73 (Column (Nullable PGText))
74 (Column (Nullable PGInt4))
75 (Column (Nullable PGInt4))
76 (Column (Nullable PGInt4))
77 makeLenses ''NgramsPostagPoly
79 instance PGS.ToRow NgramsPostagDB where
80 toRow (NgramsPostagPoly f0 f1 f2 f3 f4 f5 f6) = [ toField f0