Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Przemyslaw Kaminski
haskell-gargantext
Commits
220387af
Commit
220387af
authored
Dec 17, 2020
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[CLEAN] Social.Scores unused. Use History of patches instead
parent
d2d82390
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
150 deletions
+0
-150
Scores.hs
src/Gargantext/Core/Text/List/Social/Scores.hs
+0
-150
No files found.
src/Gargantext/Core/Text/List/Social/Scores.hs
deleted
100644 → 0
View file @
d2d82390
{-|
Module : Gargantext.Core.Text.List.Social.Scores
Description :
Copyright : (c) CNRS, 2018-Present
License : AGPL + CECILL v3
Maintainer : team@gargantext.org
Stability : experimental
Portability : POSIX
-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE TypeFamilies #-}
module
Gargantext.Core.Text.List.Social.Scores
where
import
Control.Lens
import
Data.HashMap.Strict
(
HashMap
)
import
Data.Monoid
(
mempty
)
import
Data.Set
(
Set
)
import
Gargantext.API.Ngrams.Types
import
Gargantext.Core.Text.List.Social.Prelude
import
Gargantext.Core.Types.Main
import
Gargantext.Prelude
import
qualified
Data.HashMap.Strict
as
HashMap
import
qualified
Data.Set
as
Set
------------------------------------------------------------------------
-- | Generates Score from list of HashMap Text NgramsRepoElement
toFlowListScores
::
KeepAllParents
->
FlowCont
NgramsTerm
FlowListScores
->
[
HashMap
NgramsTerm
NgramsRepoElement
]
->
FlowCont
NgramsTerm
FlowListScores
toFlowListScores
k
flc_origin
=
foldl'
(
toFlowListScores_Level1
k
flc_origin
)
mempty
where
toFlowListScores_Level1
::
KeepAllParents
->
FlowCont
NgramsTerm
FlowListScores
->
FlowCont
NgramsTerm
FlowListScores
->
HashMap
NgramsTerm
NgramsRepoElement
->
FlowCont
NgramsTerm
FlowListScores
toFlowListScores_Level1
k'
flc_origin'
flc_dest
ngramsRepo
=
Set
.
foldl'
(
toFlowListScores_Level2
k'
ngramsRepo
flc_origin'
)
flc_dest
(
Set
.
fromList
$
HashMap
.
keys
$
view
flc_cont
flc_origin'
)
toFlowListScores_Level2
::
KeepAllParents
->
HashMap
NgramsTerm
NgramsRepoElement
->
FlowCont
NgramsTerm
FlowListScores
->
FlowCont
NgramsTerm
FlowListScores
->
NgramsTerm
->
FlowCont
NgramsTerm
FlowListScores
toFlowListScores_Level2
k''
ngramsRepo
flc_origin''
flc_dest'
t
=
case
HashMap
.
lookup
t
ngramsRepo
of
Nothing
->
over
flc_cont
(
HashMap
.
union
$
HashMap
.
singleton
t
mempty
)
flc_dest'
Just
nre
->
updateScoresParent
k''
ngramsRepo
nre
flc_origin''
$
updateScores
k''
t
nre
setText
flc_dest'
where
setText
=
Set
.
fromList
$
HashMap
.
keys
$
view
flc_cont
flc_origin''
updateScoresParent
::
KeepAllParents
->
HashMap
NgramsTerm
NgramsRepoElement
->
NgramsRepoElement
->
FlowCont
NgramsTerm
FlowListScores
->
FlowCont
NgramsTerm
FlowListScores
->
FlowCont
NgramsTerm
FlowListScores
updateScoresParent
keep
@
(
KeepAllParents
k'''
)
ngramsRepo
nre
flc_origin''
flc_dest''
=
case
k'''
of
False
->
flc_dest''
True
->
case
view
nre_parent
nre
of
Nothing
->
flc_dest''
Just
parent
->
toFlowListScores_Level2
keep
ngramsRepo
flc_origin''
flc_dest''
parent
------------------------------------------------------------------------
updateScores
::
KeepAllParents
->
NgramsTerm
->
NgramsRepoElement
->
Set
NgramsTerm
->
FlowCont
NgramsTerm
FlowListScores
->
FlowCont
NgramsTerm
FlowListScores
updateScores
k
t
nre
setText
mtf
=
over
flc_cont
(
HashMap
.
delete
t
)
$
over
flc_scores
((
HashMap
.
alter
(
addParent
k
nre
setText
)
t
)
.
(
HashMap
.
alter
(
addList
$
view
nre_list
nre
)
t
)
)
mtf
------------------------------------------------------------------------
-- | Main addFunctions to groupResolution the FlowListScores
-- Use patch-map library here
addList
::
ListType
->
Maybe
FlowListScores
->
Maybe
FlowListScores
addList
l
Nothing
=
Just
$
set
fls_listType
(
addListScore
l
mempty
)
mempty
addList
l
(
Just
fls
)
=
Just
$
over
fls_listType
(
addListScore
l
)
fls
-- * Unseful but nice comment:
-- "the addList function looks like an ASCII bird"
-- | Concrete function to pass to PatchMap
addListScore
::
ListType
->
HashMap
ListType
Int
->
HashMap
ListType
Int
addListScore
l
m
=
HashMap
.
alter
(
plus
l
)
l
m
where
plus
CandidateTerm
Nothing
=
Just
1
plus
CandidateTerm
(
Just
x
)
=
Just
$
x
+
1
plus
MapTerm
Nothing
=
Just
1
plus
MapTerm
(
Just
x
)
=
Just
$
x
+
1
plus
StopTerm
Nothing
=
Just
1
plus
StopTerm
(
Just
x
)
=
Just
$
x
+
1
------------------------------------------------------------------------
data
KeepAllParents
=
KeepAllParents
Bool
addParent
::
KeepAllParents
->
NgramsRepoElement
->
Set
NgramsTerm
->
Maybe
FlowListScores
->
Maybe
FlowListScores
addParent
k
nre
ss
Nothing
=
Just
$
FlowListScores
mempty
mapParent
where
mapParent
=
addParentScore
k
(
view
nre_parent
nre
)
ss
mempty
addParent
k
nre
ss
(
Just
fls
{-(FlowListScores mapList mapParent)-}
)
=
Just
$
over
fls_parents
(
addParentScore
k
(
view
nre_parent
nre
)
ss
)
fls
addParentScore
::
Num
a
=>
KeepAllParents
->
Maybe
NgramsTerm
->
Set
NgramsTerm
->
HashMap
NgramsTerm
a
->
HashMap
NgramsTerm
a
addParentScore
_
Nothing
_ss
mapParent
=
mapParent
addParentScore
(
KeepAllParents
keep
)
(
Just
p'
)
ss
mapParent
=
case
keep
of
True
->
HashMap
.
alter
addCount
p'
mapParent
False
->
case
Set
.
member
p'
ss
of
False
->
mapParent
True
->
HashMap
.
alter
addCount
p'
mapParent
where
addCount
Nothing
=
Just
1
addCount
(
Just
n
)
=
Just
$
n
+
1
------------------------------------------------------------------------
------------------------------------------------------------------------
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment