Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
165
Issues
165
List
Board
Labels
Milestones
Merge Requests
9
Merge Requests
9
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
gargantext
haskell-gargantext
Commits
3e7c2638
Commit
3e7c2638
authored
Feb 25, 2019
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[FIX] bugs at import (ngrams must not exceed 255 chars).
parent
b34b8baf
Pipeline
#224
failed with stage
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
73 additions
and
23 deletions
+73
-23
.gitignore
.gitignore
+3
-0
TFICF.hs
src/Gargantext/Core/Metrics/TFICF.hs
+32
-0
Flow.hs
src/Gargantext/Database/Flow.hs
+28
-13
TFICF.hs
src/Gargantext/Database/Metrics/TFICF.hs
+8
-8
schema.sql
src/Gargantext/Database/Schema/schema.sql
+2
-2
No files found.
.gitignore
View file @
3e7c2638
...
@@ -24,3 +24,6 @@ _darcs
...
@@ -24,3 +24,6 @@ _darcs
*.pdf
*.pdf
# Runtime
# Runtime
# Repo
repo.json*
src/Gargantext/Core/Metrics/TFICF.hs
0 → 100644
View file @
3e7c2638
{-|
Module : Gargantext.Core.Metrics.TFICF
Description : Core Metrics TFICF filtering and grouping
Copyright : (c) CNRS, 2017-Present
License : AGPL + CECILL v3
Maintainer : team@gargantext.org
Stability : experimental
Portability : POSIX
-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
module
Gargantext.Core.Metrics.TFICF
where
import
Data.Map
import
Gargantext.Prelude
import
Gargantext.Database.Metrics.TFICF
import
Gargantext.Database.Schema.Ngrams
import
Gargantext.Text.Metrics.TFICF
import
Gargantext.API.Ngrams
group
::
TficfData
->
Map
NgramsType
[
NgramsElement
]
->
TficfData
group
=
undefined
filter
::
TficfData
->
[
NgramsElement
]
filter
=
undefined
src/Gargantext/Database/Flow.hs
View file @
3e7c2638
...
@@ -29,6 +29,7 @@ import Data.Map (Map, lookup, fromListWith, toList)
...
@@ -29,6 +29,7 @@ import Data.Map (Map, lookup, fromListWith, toList)
import
Data.Maybe
(
Maybe
(
..
),
catMaybes
)
import
Data.Maybe
(
Maybe
(
..
),
catMaybes
)
import
Data.Monoid
import
Data.Monoid
import
Data.Text
(
Text
,
splitOn
,
intercalate
)
import
Data.Text
(
Text
,
splitOn
,
intercalate
)
import
qualified
Data.Text
as
Text
import
Data.Tuple.Extra
(
both
)
import
Data.Tuple.Extra
(
both
)
import
Data.List
(
concat
)
import
Data.List
(
concat
)
import
GHC.Show
(
Show
)
import
GHC.Show
(
Show
)
...
@@ -38,7 +39,7 @@ import Gargantext.Core.Types.Main
...
@@ -38,7 +39,7 @@ import Gargantext.Core.Types.Main
import
Gargantext.Core
(
Lang
(
..
))
import
Gargantext.Core
(
Lang
(
..
))
import
Gargantext.Database.Config
(
userMaster
,
userArbitrary
,
corpusMasterName
)
import
Gargantext.Database.Config
(
userMaster
,
userArbitrary
,
corpusMasterName
)
import
Gargantext.Database.Flow.Utils
(
insertToNodeNgrams
)
import
Gargantext.Database.Flow.Utils
(
insertToNodeNgrams
)
import
Gargantext.Database.Metrics.TFICF
(
getTficf
)
--
import Gargantext.Database.Metrics.TFICF (getTficf)
import
Gargantext.Text.Terms
(
extractTerms
)
import
Gargantext.Text.Terms
(
extractTerms
)
import
Gargantext.Text.Metrics.TFICF
(
Tficf
(
..
))
import
Gargantext.Text.Metrics.TFICF
(
Tficf
(
..
))
import
Gargantext.Database.Metrics.Count
(
getNgramsElementsWithParentNodeId
)
import
Gargantext.Database.Metrics.Count
(
getNgramsElementsWithParentNodeId
)
...
@@ -205,10 +206,10 @@ toInserted :: [ReturnId] -> Map HashId ReturnId
...
@@ -205,10 +206,10 @@ toInserted :: [ReturnId] -> Map HashId ReturnId
toInserted
=
DM
.
fromList
.
map
(
\
r
->
(
reUniqId
r
,
r
)
)
toInserted
=
DM
.
fromList
.
map
(
\
r
->
(
reUniqId
r
,
r
)
)
.
filter
(
\
r
->
reInserted
r
==
True
)
.
filter
(
\
r
->
reInserted
r
==
True
)
data
DocumentWithId
=
data
DocumentWithId
=
DocumentWithId
DocumentWithId
{
documentId
::
!
NodeId
{
documentId
::
!
NodeId
,
documentData
::
!
HyperdataDocument
,
documentData
::
!
HyperdataDocument
}
deriving
(
Show
)
}
deriving
(
Show
)
mergeData
::
Map
HashId
ReturnId
mergeData
::
Map
HashId
ReturnId
->
Map
HashId
HyperdataDocument
->
Map
HashId
HyperdataDocument
...
@@ -220,17 +221,23 @@ mergeData rs = catMaybes . map toDocumentWithId . DM.toList
...
@@ -220,17 +221,23 @@ mergeData rs = catMaybes . map toDocumentWithId . DM.toList
<*>
Just
hpd
<*>
Just
hpd
------------------------------------------------------------------------
------------------------------------------------------------------------
data
DocumentIdWithNgrams
=
data
DocumentIdWithNgrams
=
DocumentIdWithNgrams
DocumentIdWithNgrams
{
documentWithId
::
!
DocumentWithId
{
documentWithId
::
!
DocumentWithId
,
document_ngrams
::
!
(
Map
Ngrams
(
Map
NgramsType
Int
))
,
document_ngrams
::
!
(
Map
Ngrams
(
Map
NgramsType
Int
))
}
deriving
(
Show
)
}
deriving
(
Show
)
-- TODO group terms
-- TODO group terms
extractNgramsT
::
HasNodeError
err
extractNgramsT
::
HasNodeError
err
=>
HyperdataDocument
=>
HyperdataDocument
->
Cmd
err
(
Map
Ngrams
(
Map
NgramsType
Int
))
->
Cmd
err
(
Map
Ngrams
(
Map
NgramsType
Int
))
extractNgramsT
doc
=
do
extractNgramsT
hd
=
filterNgramsT
255
<$>
extractNgramsT'
hd
extractNgramsT'
::
HasNodeError
err
=>
HyperdataDocument
->
Cmd
err
(
Map
Ngrams
(
Map
NgramsType
Int
))
extractNgramsT'
doc
=
do
let
source
=
text2ngrams
let
source
=
text2ngrams
$
maybe
"Nothing"
identity
$
maybe
"Nothing"
identity
$
_hyperdataDocument_source
doc
$
_hyperdataDocument_source
doc
...
@@ -257,7 +264,15 @@ extractNgramsT doc = do
...
@@ -257,7 +264,15 @@ extractNgramsT doc = do
<>
[(
a'
,
DM
.
singleton
Authors
1
)
|
a'
<-
authors
]
<>
[(
a'
,
DM
.
singleton
Authors
1
)
|
a'
<-
authors
]
<>
[(
t'
,
DM
.
singleton
NgramsTerms
1
)
|
t'
<-
terms'
]
<>
[(
t'
,
DM
.
singleton
NgramsTerms
1
)
|
t'
<-
terms'
]
--{-
filterNgramsT
::
Int
->
Map
Ngrams
(
Map
NgramsType
Int
)
->
Map
Ngrams
(
Map
NgramsType
Int
)
filterNgramsT
s
ms
=
DM
.
fromList
$
map
(
\
a
->
filter'
s
a
)
$
DM
.
toList
ms
where
filter'
s'
(
ng
@
(
Ngrams
t
n
),
y
)
=
case
(
Text
.
length
t
)
<
s'
of
True
->
(
ng
,
y
)
False
->
(
Ngrams
(
Text
.
take
s'
t
)
n
,
y
)
--}
documentIdWithNgrams
::
HasNodeError
err
documentIdWithNgrams
::
HasNodeError
err
=>
(
HyperdataDocument
=>
(
HyperdataDocument
...
@@ -310,7 +325,7 @@ flowListUser :: FlowCmdM env err m
...
@@ -310,7 +325,7 @@ flowListUser :: FlowCmdM env err m
->
Map
NgramsType
[
NgramsElement
]
->
Map
NgramsType
[
NgramsElement
]
->
Int
->
Int
->
m
ListId
->
m
ListId
flowListUser
uId
cId
ngsM
n
=
do
flowListUser
uId
cId
ngsM
_
n
=
do
lId
<-
getOrMkList
cId
uId
lId
<-
getOrMkList
cId
uId
{-
{-
...
...
src/Gargantext/Database/Metrics/TFICF.hs
View file @
3e7c2638
{-|
{-|
Module : Gargantext.Database.Metrics.TFICF
Module : Gargantext.Database.Metrics.TFICF
Description :
Ngram connection to the
Database
Description :
Building TFICF Data from
Database
Copyright : (c) CNRS, 2017-Present
Copyright : (c) CNRS, 2017-Present
License : AGPL + CECILL v3
License : AGPL + CECILL v3
Maintainer : team@gargantext.org
Maintainer : team@gargantext.org
Stability : experimental
Stability : experimental
Portability : POSIX
Portability : POSIX
TFICF, generalization of TFIDF
-}
-}
{-# LANGUAGE NoImplicitPrelude
#-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings
#-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes
#-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RankNTypes #-}
module
Gargantext.Database.Metrics.TFICF
where
module
Gargantext.Database.Metrics.TFICF
where
...
@@ -22,13 +21,13 @@ import Data.Text (Text)
...
@@ -22,13 +21,13 @@ import Data.Text (Text)
import
Database.PostgreSQL.Simple.SqlQQ
(
sql
)
import
Database.PostgreSQL.Simple.SqlQQ
(
sql
)
import
qualified
Database.PostgreSQL.Simple
as
DPS
import
qualified
Database.PostgreSQL.Simple
as
DPS
import
Safe
(
headMay
)
import
Safe
(
headMay
)
import
Gargantext.Text.Metrics.TFICF
-- (tficf)
--
import Gargantext.Text.Metrics.TFICF -- (tficf)
import
Gargantext.Prelude
import
Gargantext.Prelude
import
Gargantext.Core.Types.Individu
(
UsernameMaster
)
import
Gargantext.Core.Types.Individu
(
UsernameMaster
)
import
Gargantext.Database.Utils
(
Cmd
,
runPGSQuery
)
import
Gargantext.Database.Utils
(
Cmd
,
runPGSQuery
)
import
Gargantext.Database.Types.Node
(
ListId
,
CorpusId
,
NodeType
(
..
))
import
Gargantext.Database.Types.Node
(
{-ListId,-}
CorpusId
,
NodeType
(
..
))
import
Gargantext.Database.Config
(
nodeTypeId
)
import
Gargantext.Database.Config
(
nodeTypeId
)
import
Gargantext.Database.Schema.Ngrams
(
NgramsId
,
NgramsTerms
,
NgramsType
,
ngramsTypeId
)
import
Gargantext.Database.Schema.Ngrams
(
{-NgramsId, NgramsTerms,-}
NgramsType
,
ngramsTypeId
)
type
OccGlobal
=
Double
type
OccGlobal
=
Double
type
OccCorpus
=
Double
type
OccCorpus
=
Double
...
@@ -45,6 +44,7 @@ data TficfData = TficfData
...
@@ -45,6 +44,7 @@ data TficfData = TficfData
,
td_terms
::
!
[
TficfTerms
]
,
td_terms
::
!
[
TficfTerms
]
}
deriving
(
Show
)
}
deriving
(
Show
)
getTficf
::
UsernameMaster
->
CorpusId
->
NgramsType
getTficf
::
UsernameMaster
->
CorpusId
->
NgramsType
->
Cmd
err
TficfData
->
Cmd
err
TficfData
getTficf
u
cId
ngType
=
do
getTficf
u
cId
ngType
=
do
...
...
src/Gargantext/Database/Schema/schema.sql
View file @
3e7c2638
...
@@ -89,8 +89,8 @@ ALTER TABLE public.nodes_ngrams_ngrams OWNER TO gargantua;
...
@@ -89,8 +89,8 @@ ALTER TABLE public.nodes_ngrams_ngrams OWNER TO gargantua;
---------------------------------------------------------
---------------------------------------------------------
CREATE
TABLE
public
.
nodes_nodes
(
CREATE
TABLE
public
.
nodes_nodes
(
node1_id
integer
NOT
NULL
,
node1_id
integer
NOT
NULL
REFERENCES
public
.
nodes
(
id
)
ON
DELETE
CASCADE
,
node2_id
integer
NOT
NULL
,
node2_id
integer
NOT
NULL
REFERENCES
public
.
nodes
(
id
)
ON
DELETE
CASCADE
,
score
real
,
score
real
,
favorite
boolean
,
favorite
boolean
,
delete
boolean
,
delete
boolean
,
...
...
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