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