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
f0f1bafd
Commit
f0f1bafd
authored
Apr 18, 2023
by
Przemyslaw Kaminski
Committed by
Alexandre Delanoë
Apr 20, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[nlp] export languages (graphql) based on ini file
parent
75d1ec04
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
34 additions
and
14 deletions
+34
-14
GraphQL.hs
src/Gargantext/API/GraphQL.hs
+4
-3
NLP.hs
src/Gargantext/API/GraphQL/NLP.hs
+23
-4
Core.hs
src/Gargantext/Core.hs
+2
-2
PosTagging.hs
src/Gargantext/Core/Text/Terms/Multi/PosTagging.hs
+5
-5
No files found.
src/Gargantext/API/GraphQL.hs
View file @
f0f1bafd
...
...
@@ -46,6 +46,7 @@ import qualified Gargantext.API.GraphQL.TreeFirstLevel as GQLTree
import
qualified
Gargantext.API.GraphQL.Team
as
GQLTeam
import
Gargantext.API.Prelude
(
GargM
,
GargError
)
import
Gargantext.API.Types
import
Gargantext.Core.NLP
(
HasNLPServer
)
import
Gargantext.Database.Prelude
(
CmdCommon
)
import
Gargantext.Prelude
import
GHC.Generics
(
Generic
)
...
...
@@ -71,7 +72,7 @@ data Query m
,
contexts_for_ngrams
::
GQLCTX
.
ContextsForNgramsArgs
->
m
[
GQLCTX
.
ContextGQL
]
,
imt_schools
::
GQLIMT
.
SchoolsArgs
->
m
[
GQLIMT
.
School
]
,
job_logs
::
GQLAT
.
JobLogArgs
->
m
(
Map
Int
JobLog
)
,
languages
::
GQLNLP
.
LanguagesArgs
->
m
[
GQLNLP
.
Lang
]
,
languages
::
GQLNLP
.
LanguagesArgs
->
m
GQLNLP
.
LanguagesMap
,
nodes
::
GQLNode
.
NodeArgs
->
m
[
GQLNode
.
Node
]
,
node_parent
::
GQLNode
.
NodeParentArgs
->
m
[
GQLNode
.
Node
]
,
user_infos
::
GQLUserInfo
.
UserInfoArgs
->
m
[
GQLUserInfo
.
UserInfo
]
...
...
@@ -105,7 +106,7 @@ data Contet m
-- | The main GraphQL resolver: how queries, mutations and
-- subscriptions are handled.
rootResolver
::
(
CmdCommon
env
,
HasJobEnv'
env
,
HasSettings
env
)
::
(
CmdCommon
env
,
Has
NLPServer
env
,
Has
JobEnv'
env
,
HasSettings
env
)
=>
RootResolver
(
GargM
env
GargError
)
e
Query
Mutation
Undefined
rootResolver
=
RootResolver
...
...
@@ -128,7 +129,7 @@ rootResolver =
-- | Main GraphQL "app".
app
::
(
Typeable
env
,
CmdCommon
env
,
HasJobEnv'
env
,
HasSettings
env
)
::
(
Typeable
env
,
CmdCommon
env
,
HasJobEnv'
env
,
Has
NLPServer
env
,
Has
Settings
env
)
=>
App
(
EVENT
(
GargM
env
GargError
))
(
GargM
env
GargError
)
app
=
deriveApp
rootResolver
...
...
src/Gargantext/API/GraphQL/NLP.hs
View file @
f0f1bafd
...
...
@@ -4,19 +4,23 @@
module
Gargantext.API.GraphQL.NLP
(
Lang
(
..
)
,
LanguagesArgs
(
..
)
,
LanguagesMap
,
resolveLanguages
)
where
import
Control.Lens
(
view
)
import
qualified
Data.Map.Strict
as
Map
import
Data.Morpheus.Types
(
GQLType
,
Resolver
,
QUERY
)
import
Gargantext.API.Prelude
(
GargM
,
GargError
)
import
Gargantext.Core
(
Lang
(
..
),
allLangs
)
import
Gargantext.Core
(
Lang
(
..
),
NLPServerConfig
(
..
),
PosTagAlgo
)
-- , allLangs)
import
Gargantext.Core.NLP
(
HasNLPServer
(
..
))
import
Gargantext.Prelude
import
GHC.Generics
(
Generic
)
import
Protolude
data
LanguagesArgs
=
LanguagesArgs
...
...
@@ -24,6 +28,21 @@ data LanguagesArgs
type
GqlM
e
env
=
Resolver
QUERY
e
(
GargM
env
GargError
)
type
LanguagesMap
=
Map
.
Map
Lang
NLPServer
data
NLPServer
=
NLPServer
{
server
::
!
PosTagAlgo
,
url
::
!
Text
}
deriving
(
Show
,
Eq
,
Generic
,
GQLType
)
resolveLanguages
::
LanguagesArgs
->
GqlM
e
env
[
Lang
]
resolveLanguages
LanguagesArgs
{
}
=
pure
$
allLangs
::
HasNLPServer
env
=>
LanguagesArgs
->
GqlM
e
env
LanguagesMap
resolveLanguages
LanguagesArgs
{
}
=
do
-- pure $ allLangs
lift
$
do
ns
<-
view
nlpServer
printDebug
"[resolveLanguages] nlpServer"
ns
pure
$
Map
.
map
(
\
(
NLPServerConfig
{
..
})
->
NLPServer
{
server
,
url
=
Protolude
.
show
url
})
ns
src/Gargantext/Core.hs
View file @
f0f1bafd
...
...
@@ -97,13 +97,13 @@ instance HasDBid Lang where
data
NLPServerConfig
=
NLPServerConfig
{
server
::
!
PosTagAlgo
,
url
::
!
URI
}
deriving
(
Show
,
Eq
)
deriving
(
Show
,
Eq
,
Generic
)
------------------------------------------------------------------------
type
Form
=
Text
type
Lem
=
Text
------------------------------------------------------------------------
data
PosTagAlgo
=
CoreNLP
|
JohnSnowServer
|
Spacy
deriving
(
Show
,
Read
,
Eq
,
Ord
,
Generic
)
deriving
(
Show
,
Read
,
Eq
,
Ord
,
Generic
,
GQLType
)
instance
Hashable
PosTagAlgo
...
...
src/Gargantext/Core/Text/Terms/Multi/PosTagging.hs
View file @
f0f1bafd
...
...
@@ -92,15 +92,15 @@ corenlp' uri lang txt = do
EN
->
[
(
"annotators"
,
"tokenize,ssplit,pos,ner"
)
]
FR
->
[
(
"annotators"
,
"tokenize,ssplit,pos,lemma,ner"
)
-- , ("parse.model", "edu/stanford/nlp/models/lexparser/frenchFactored.ser.gz")
,
(
"pos.model"
,
"edu/stanford/nlp/models/pos-tagger/
french
/french.tagger"
)
,
(
"pos.model"
,
"edu/stanford/nlp/models/pos-tagger/
models
/french.tagger"
)
,
(
"tokenize.language"
,
"fr"
)
]
DE
->
[
(
"annotators"
,
"tokenize,ssplit,pos,lemma,ner"
)
-- , ("parse.model", "edu/stanford/nlp/models/lexparser/frenchFactored.ser.gz")
,
(
"pos.model"
,
"edu/stanford/nlp/models/pos-tagger/
french
/german-hgc.tagger"
)
,
(
"pos.model"
,
"edu/stanford/nlp/models/pos-tagger/
models
/german-hgc.tagger"
)
,
(
"tokenize.language"
,
"de"
)
]
ES
->
[
(
"annotators"
,
"tokenize,ssplit,pos,lemma,ner"
)
-- , ("parse.model", "edu/stanford/nlp/models/lexparser/frenchFactored.ser.gz")
,
(
"pos.model"
,
"edu/stanford/nlp/models/pos-tagger/
french
/spanish.tagger"
)
,
(
"pos.model"
,
"edu/stanford/nlp/models/pos-tagger/
models
/spanish.tagger"
)
,
(
"tokenize.language"
,
"es"
)
]
IT
->
[
(
"annotators"
,
"tokenize,ssplit,pos,lemma,ner"
)
-- , ("parse.model", "edu/stanford/nlp/models/lexparser/frenchFactored.ser.gz")
...
...
@@ -110,9 +110,9 @@ corenlp' uri lang txt = do
-- , ("parse.model", "edu/stanford/nlp/models/lexparser/frenchFactored.ser.gz")
-- , ("pos.model", "edu/stanford/nlp/models/pos-tagger/french/french.tagger")
,
(
"tokenize.language"
,
"pl"
)
]
CN
->
[
(
"annotators"
,
"tokenize,
ssplit,
pos,lemma,ner"
)
CN
->
[
(
"annotators"
,
"tokenize,pos,lemma,ner"
)
-- , ("parse.model", "edu/stanford/nlp/models/lexparser/frenchFactored.ser.gz")
,
(
"pos.model"
,
"edu/stanford/nlp/models/pos-tagger/
french
/chinese-distsim.tagger"
)
,
(
"pos.model"
,
"edu/stanford/nlp/models/pos-tagger/
models
/chinese-distsim.tagger"
)
,
(
"tokenize.language"
,
"zh"
)
]
l
->
panic
$
pack
$
"corenlp for language "
<>
show
l
<>
" is not implemented yet"
...
...
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