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
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
Grégoire Locqueville
haskell-gargantext
Commits
a8d3b429
Verified
Commit
a8d3b429
authored
Jun 27, 2023
by
Przemyslaw Kaminski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[terms] some attempts on adding dates to the terms table
parent
88449643
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
42 additions
and
31 deletions
+42
-31
Ngrams.hs
src/Gargantext/API/Ngrams.hs
+2
-2
Types.hs
src/Gargantext/API/Ngrams/Types.hs
+40
-29
No files found.
src/Gargantext/API/Ngrams.hs
View file @
a8d3b429
...
@@ -613,7 +613,7 @@ getTableNgrams :: forall env err m.
...
@@ -613,7 +613,7 @@ getTableNgrams :: forall env err m.
->
ListId
->
ListId
->
TabType
->
TabType
->
NgramsSearchQuery
->
NgramsSearchQuery
->
m
(
VersionedWithCount
NgramsTable
)
->
m
(
VersionedWithCount
NgramsTable
WithDay
)
getTableNgrams
nodeId
listId
tabType
searchQuery
=
do
getTableNgrams
nodeId
listId
tabType
searchQuery
=
do
let
ngramsType
=
ngramsTypeFromTabType
tabType
let
ngramsType
=
ngramsTypeFromTabType
tabType
versionedInput
<-
getNgramsTable'
nodeId
listId
ngramsType
versionedInput
<-
getNgramsTable'
nodeId
listId
ngramsType
...
@@ -738,7 +738,7 @@ getTableNgramsCorpus :: (HasNodeStory env err m, HasNodeError err, CmdCommon env
...
@@ -738,7 +738,7 @@ getTableNgramsCorpus :: (HasNodeStory env err m, HasNodeError err, CmdCommon env
->
Maybe
MinSize
->
Maybe
MaxSize
->
Maybe
MinSize
->
Maybe
MaxSize
->
Maybe
OrderBy
->
Maybe
OrderBy
->
Maybe
Text
-- full text search
->
Maybe
Text
-- full text search
->
m
(
VersionedWithCount
NgramsTable
)
->
m
(
VersionedWithCount
NgramsTable
WithDay
)
getTableNgramsCorpus
nId
tabType
listId
limit_
offset
listType
minSize
maxSize
orderBy
mt
=
getTableNgramsCorpus
nId
tabType
listId
limit_
offset
listType
minSize
maxSize
orderBy
mt
=
getTableNgrams
nId
listId
tabType
searchQuery
getTableNgrams
nId
listId
tabType
searchQuery
where
where
...
...
src/Gargantext/API/Ngrams/Types.hs
View file @
a8d3b429
...
@@ -35,6 +35,7 @@ import Data.Set (Set)
...
@@ -35,6 +35,7 @@ import Data.Set (Set)
import
Data.String
(
IsString
,
fromString
)
import
Data.String
(
IsString
,
fromString
)
import
Data.Swagger
hiding
(
version
,
patch
)
import
Data.Swagger
hiding
(
version
,
patch
)
import
Data.Text
(
Text
,
pack
,
strip
)
import
Data.Text
(
Text
,
pack
,
strip
)
import
Data.Time.Calendar
(
Day
)
import
Data.Validity
import
Data.Validity
import
Database.PostgreSQL.Simple.FromField
(
FromField
,
fromField
,
fromJSONField
)
import
Database.PostgreSQL.Simple.FromField
(
FromField
,
fromField
,
fromJSONField
)
import
Database.PostgreSQL.Simple.ToField
(
ToField
,
toJSONField
,
toField
)
import
Database.PostgreSQL.Simple.ToField
(
ToField
,
toJSONField
,
toField
)
...
@@ -177,13 +178,14 @@ instance ToField NgramsRepoElement where
...
@@ -177,13 +178,14 @@ instance ToField NgramsRepoElement where
instance
Serialise
(
MSet
NgramsTerm
)
instance
Serialise
(
MSet
NgramsTerm
)
data
NgramsElement
=
data
NgramsElement
=
NgramsElement
{
_ne_ngrams
::
NgramsTerm
NgramsElement
{
_ne_ngrams
::
NgramsTerm
,
_ne_size
::
Int
,
_ne_size
::
Int
,
_ne_list
::
ListType
,
_ne_list
::
ListType
,
_ne_occurrences
::
Set
ContextId
,
_ne_occurrences
::
Set
ContextId
,
_ne_root
::
Maybe
NgramsTerm
,
_ne_root
::
Maybe
NgramsTerm
,
_ne_parent
::
Maybe
NgramsTerm
,
_ne_parent
::
Maybe
NgramsTerm
,
_ne_children
::
MSet
NgramsTerm
,
_ne_children
::
MSet
NgramsTerm
,
_ne_first_occurrence
::
Maybe
Day
}
}
deriving
(
Ord
,
Eq
,
Show
,
Generic
)
deriving
(
Ord
,
Eq
,
Show
,
Generic
)
...
@@ -194,13 +196,21 @@ mkNgramsElement :: NgramsTerm
...
@@ -194,13 +196,21 @@ mkNgramsElement :: NgramsTerm
->
ListType
->
ListType
->
Maybe
RootParent
->
Maybe
RootParent
->
MSet
NgramsTerm
->
MSet
NgramsTerm
->
Maybe
Day
->
NgramsElement
->
NgramsElement
mkNgramsElement
ngrams
list
rp
children
=
mkNgramsElement
ngrams
list
rp
children
firstOccurrence
=
NgramsElement
ngrams
(
size
(
unNgramsTerm
ngrams
))
list
mempty
(
_rp_root
<$>
rp
)
(
_rp_parent
<$>
rp
)
children
NgramsElement
{
_ne_ngrams
=
ngrams
,
_ne_size
=
size
(
unNgramsTerm
ngrams
)
,
_ne_list
=
list
,
_ne_occurrences
=
mempty
,
_ne_root
=
_rp_root
<$>
rp
,
_ne_parent
=
_rp_parent
<$>
rp
,
_ne_children
=
children
,
_ne_first_occurrence
=
firstOccurrence
}
newNgramsElement
::
Maybe
ListType
->
NgramsTerm
->
NgramsElement
newNgramsElement
::
Maybe
ListType
->
NgramsTerm
->
NgramsElement
newNgramsElement
mayList
ngrams
=
newNgramsElement
mayList
ngrams
=
mkNgramsElement
ngrams
(
fromMaybe
MapTerm
mayList
)
Nothing
mempty
mkNgramsElement
ngrams
(
fromMaybe
MapTerm
mayList
)
Nothing
mempty
Nothing
instance
ToSchema
NgramsElement
where
instance
ToSchema
NgramsElement
where
declareNamedSchema
=
genericDeclareNamedSchema
(
unPrefixSwagger
"_ne_"
)
declareNamedSchema
=
genericDeclareNamedSchema
(
unPrefixSwagger
"_ne_"
)
...
@@ -248,18 +258,18 @@ toNgramsElement ns = map toNgramsElement' ns
...
@@ -248,18 +258,18 @@ toNgramsElement ns = map toNgramsElement' ns
mockTable
::
NgramsTable
mockTable
::
NgramsTable
mockTable
=
NgramsTable
mockTable
=
NgramsTable
[
mkNgramsElement
"animal"
MapTerm
Nothing
(
mSetFromList
[
"dog"
,
"cat"
])
[
mkNgramsElement
"animal"
MapTerm
Nothing
(
mSetFromList
[
"dog"
,
"cat"
])
Nothing
,
mkNgramsElement
"cat"
MapTerm
(
rp
"animal"
)
mempty
,
mkNgramsElement
"cat"
MapTerm
(
rp
"animal"
)
mempty
Nothing
,
mkNgramsElement
"cats"
StopTerm
Nothing
mempty
,
mkNgramsElement
"cats"
StopTerm
Nothing
mempty
Nothing
,
mkNgramsElement
"dog"
MapTerm
(
rp
"animal"
)
(
mSetFromList
[
"dogs"
])
,
mkNgramsElement
"dog"
MapTerm
(
rp
"animal"
)
(
mSetFromList
[
"dogs"
])
Nothing
,
mkNgramsElement
"dogs"
StopTerm
(
rp
"dog"
)
mempty
,
mkNgramsElement
"dogs"
StopTerm
(
rp
"dog"
)
mempty
Nothing
,
mkNgramsElement
"fox"
MapTerm
Nothing
mempty
,
mkNgramsElement
"fox"
MapTerm
Nothing
mempty
Nothing
,
mkNgramsElement
"object"
CandidateTerm
Nothing
mempty
,
mkNgramsElement
"object"
CandidateTerm
Nothing
mempty
Nothing
,
mkNgramsElement
"nothing"
StopTerm
Nothing
mempty
,
mkNgramsElement
"nothing"
StopTerm
Nothing
mempty
Nothing
,
mkNgramsElement
"organic"
MapTerm
Nothing
(
mSetFromList
[
"flower"
])
,
mkNgramsElement
"organic"
MapTerm
Nothing
(
mSetFromList
[
"flower"
])
Nothing
,
mkNgramsElement
"flower"
MapTerm
(
rp
"organic"
)
mempty
,
mkNgramsElement
"flower"
MapTerm
(
rp
"organic"
)
mempty
Nothing
,
mkNgramsElement
"moon"
CandidateTerm
Nothing
mempty
,
mkNgramsElement
"moon"
CandidateTerm
Nothing
mempty
Nothing
,
mkNgramsElement
"sky"
StopTerm
Nothing
mempty
,
mkNgramsElement
"sky"
StopTerm
Nothing
mempty
Nothing
]
]
where
where
rp
n
=
Just
$
RootParent
n
n
rp
n
=
Just
$
RootParent
n
n
...
@@ -619,13 +629,14 @@ ngramsElementFromRepo
...
@@ -619,13 +629,14 @@ ngramsElementFromRepo
,
_nre_root
=
r
,
_nre_root
=
r
,
_nre_children
=
c
,
_nre_children
=
c
})
=
})
=
NgramsElement
{
_ne_size
=
s
NgramsElement
{
_ne_size
=
s
,
_ne_list
=
l
,
_ne_list
=
l
,
_ne_root
=
r
,
_ne_root
=
r
,
_ne_parent
=
p
,
_ne_parent
=
p
,
_ne_children
=
c
,
_ne_children
=
c
,
_ne_ngrams
=
ngrams
,
_ne_ngrams
=
ngrams
,
_ne_occurrences
=
mempty
-- panic $ "API.Ngrams.Types._ne_occurrences"
,
_ne_occurrences
=
mempty
-- panic $ "API.Ngrams.Types._ne_occurrences"
,
_ne_first_occurrence
=
Nothing
{-
{-
-- Here we could use 0 if we want to avoid any `panic`.
-- Here we could use 0 if we want to avoid any `panic`.
-- It will not happen using getTableNgrams if
-- It will not happen using getTableNgrams if
...
...
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