2 Module : Gargantext.Database.Schema.NodeNgrams
4 Copyright : (c) CNRS, 2017-Present
5 License : AGPL + CECILL v3
6 Maintainer : team@gargantext.org
7 Stability : experimental
10 NodeNgrams register Context of Ngrams (named Cgrams then)
14 {-# OPTIONS_GHC -fno-warn-orphans #-}
16 {-# LANGUAGE Arrows #-}
17 {-# LANGUAGE FunctionalDependencies #-}
18 {-# LANGUAGE QuasiQuotes #-}
19 {-# LANGUAGE TemplateHaskell #-}
21 module Gargantext.Database.Schema.NodeNgrams where
23 import Data.Maybe (Maybe)
24 import Data.Text (Text)
25 import Gargantext.Core.Types
26 import Gargantext.Database.Schema.Ngrams (NgramsType)
27 import Gargantext.Prelude
30 data NodeNgramsPoly id
39 = NodeNgrams { _nng_id :: !id
40 , _nng_node_id :: !node_id'
41 , _nng_node_subtype :: !node_subtype
42 , _nng_ngrams_id :: !ngrams_id
43 , _nng_ngrams_type :: !ngrams_type
44 , _nng_ngrams_field :: !ngrams_field
45 , _nng_ngrams_tag :: !ngrams_tag
46 , _nng_ngrams_class :: !ngrams_class
47 , _nng_ngrams_weight :: !weight
48 } deriving (Show, Eq, Ord)
51 type NodeNgramsWrite = NodeNgramsPoly (Maybe (Column (PGInt4)))
53 (Maybe (Column (PGInt4)))
55 (Maybe (Column (PGInt4)))
56 (Maybe (Column (PGInt4)))
57 (Maybe (Column (PGInt4)))
58 (Maybe (Column (PGInt4)))
59 (Maybe (Column (PGFloat8)))
61 type NodeNodeRead = NodeNgramsPoly (Column PGInt4)
71 type NodeNgramsReadNull = NodeNgramsPoly (Column (Nullable PGInt4))
72 (Column (Nullable PGInt4))
73 (Column (Nullable PGInt4))
74 (Column (Nullable PGInt4))
76 (Column (Nullable PGInt4))
77 (Column (Nullable PGInt4))
78 (Column (Nullable PGInt4))
79 (Column (Nullable PGInt4))
80 (Column (Nullable PGFloat8))
82 type NodeNgramsId = Int
84 type NgramsField = Int
86 type NgramsClass = Int
87 type NgramsText = Text
89 -- Example of list Ngrams
90 -- type ListNgrams = NodeNgramsPoly (Maybe Int) ListType Text
93 NodeNgramsPoly (Maybe NodeNgramsId) NodeId ListType NgramsText
94 NgramsType (Maybe NgramsField) (Maybe NgramsTag) (Maybe NgramsClass)