Commit 3a533287 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[GRAPH] adding type Ordering to sortTficf and others

parent 07c6753c
Pipeline #830 failed with stage
......@@ -25,6 +25,7 @@ module Gargantext.Core.Types ( module Gargantext.Core.Types.Main
, Name
, TableResult(..)
, NodeTableResult
, Ordering(..)
, TODO(..)
) where
......@@ -46,6 +47,8 @@ import Gargantext.Database.Admin.Types.Node
import Gargantext.Prelude
import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary)
data Ordering = Down | Up
------------------------------------------------------------------------
type Name = Text
type Term = Text
......
......@@ -23,12 +23,14 @@ module Gargantext.Database.Action.Metrics.NgramsByNode
import Data.Map.Strict (Map, fromListWith, elems, toList, fromList)
import Data.Map.Strict.Patch (PatchMap, Replace, diff)
import Data.Set (Set)
import qualified Data.Ord as DO (Down(..))
import Data.Text (Text)
import Data.Tuple.Extra (second, swap)
import Database.PostgreSQL.Simple.SqlQQ (sql)
import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..))
import Debug.Trace (trace)
import Gargantext.Core (Lang(..))
import Gargantext.Core.Types (Ordering(..))
import Gargantext.Database.Admin.Config (nodeTypeId)
import Gargantext.Database.Admin.Types.Node -- (ListId, CorpusId, NodeId)
import Gargantext.Database.Admin.Utils (Cmd, runPGSQuery)
......@@ -60,9 +62,11 @@ ngramsGroup l _m _n = Text.intercalate " "
. Text.replace "-" " "
sortTficf :: (Map Text (Double, Set Text))
sortTficf :: Ordering
-> (Map Text (Double, Set Text))
-> [ (Text,(Double, Set Text))]
sortTficf = List.sortOn (fst . snd) . toList
sortTficf Down = List.sortOn (DO.Down . fst . snd) . toList
sortTficf Up = List.sortOn (fst . snd) . toList
getTficf :: UserCorpusId
......
......@@ -24,7 +24,7 @@ import Data.Text (Text)
import Gargantext.API.Ngrams (NgramsElement, mkNgramsElement, RootParent(..), mSetFromList)
-- import Gargantext.API.Ngrams.Tools (getCoocByNgrams', Diagonal(..))
import Gargantext.Core (Lang(..))
import Gargantext.Core.Types (ListType(..), MasterCorpusId, UserCorpusId)
import Gargantext.Core.Types (ListType(..), MasterCorpusId, UserCorpusId, Ordering(..))
import Gargantext.Database.Action.Metrics.NgramsByNode (getTficf, sortTficf, ngramsGroup, getNodesByNgramsUser, groupNodesByNgramsWith)
import Gargantext.Database.Admin.Utils (Cmd)
import Gargantext.Database.Schema.Ngrams (NgramsType(..))
......@@ -139,18 +139,21 @@ buildNgramsTermsList :: Lang
-> MasterCorpusId
-> Cmd err (Map NgramsType [NgramsElement])
buildNgramsTermsList l n m s uCid mCid = do
candidates <- sortTficf <$> getTficf uCid mCid NgramsTerms (ngramsGroup l n m)
candidates <- sortTficf Up <$> getTficf uCid mCid NgramsTerms (ngramsGroup l n m)
let
candidatesSize = 1000
candidatesSize = 400
{-
a = 50
b = 50
-}
candidatesHead = List.take candidatesSize candidates
candidatesTail = List.drop candidatesSize candidates
termList = (toTermList a b ((isStopTerm s) . fst) candidatesHead)
termList =
-- (toTermList a b ((isStopTerm s) . fst) candidatesHead)
(map (toList ((isStopTerm s) .fst) GraphTerm) candidatesHead)
<> (map (toList ((isStopTerm s) .fst) CandidateTerm) candidatesTail)
ngs = List.concat $ map toNgramsElement termList
......
......@@ -77,7 +77,8 @@ cooc2graph threshold myCooc = do
else panic "Text.Flow: DistanceMap is empty"
let
bridgeness' = bridgeness rivers partitions distanceMap
bridgeness' = distanceMap
_bridgeness' = bridgeness rivers partitions distanceMap
confluence' = confluence (Map.keys bridgeness') 3 True False
pure $ data2graph (Map.toList ti) myCooc' bridgeness' confluence' partitions
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment