Commit 151b54d0 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[FEAT] Graph Multipartite connected, need to change the node shape in Graph and tests

parent 4a8e3c73
cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.35.0.
--
-- see: https://github.com/sol/hpack
name: gargantext
version: 0.0.6.7.1
synopsis: Search, map, share
description: Please see README.md
category: Data
homepage: https://gargantext.org
author: Gargantext Team
maintainer: team@gargantext.org
copyright: Copyright: (c) 2017-Present: see git logs and README
license: AGPL-3
license-file: LICENSE
build-type: Simple
data-files:
ekg-assets/index.html
ekg-assets/monitor.js
ekg-assets/monitor.css
ekg-assets/jquery.flot.min.js
ekg-assets/jquery-1.6.4.min.js
ekg-assets/bootstrap-1.4.0.min.css
ekg-assets/chart_line_add.png
ekg-assets/cross.png
library
exposed-modules:
Gargantext
Gargantext.API
Gargantext.API.Dev
Gargantext.API.HashedResponse
Gargantext.API.Node
Gargantext.API.Node.Share
Gargantext.API.Node.File
Gargantext.API.Ngrams
Gargantext.API.Ngrams.Tools
Gargantext.API.Ngrams.Types
Gargantext.API.Ngrams.Prelude
Gargantext.API.Admin.Settings
Gargantext.API.Admin.EnvTypes
Gargantext.API.Admin.Auth.Types
Gargantext.API.Admin.Types
Gargantext.API.Prelude
Gargantext.API.Client
Gargantext.Core
Gargantext.Core.NodeStory
Gargantext.Core.Methods.Similarities
Gargantext.Core.Types
Gargantext.Core.Types.Individu
Gargantext.Core.Types.Main
Gargantext.Core.Utils.Prefix
Gargantext.Utils.SpacyNLP
Gargantext.Database.Action.Flow
Gargantext.Database.Action.Flow.Types
Gargantext.Database.Action.User.New
Gargantext.Database.Query.Table.User
Gargantext.Database.Query.Table.Node
Gargantext.Database.Query.Table.Node.UpdateOpaleye
Gargantext.Database.Query.Table.NgramsPostag
Gargantext.Database.Schema.Ngrams
Gargantext.Database.Prelude
Gargantext.Database.Admin.Trigger.Init
Gargantext.Database.Admin.Config
Gargantext.Database.Admin.Types.Hyperdata
Gargantext.Database.Admin.Types.Node
Gargantext.Defaults
Gargantext.Core.Text
Gargantext.Core.Text.Context
Gargantext.Core.Text.Corpus.Parsers
Gargantext.Core.Text.Corpus.Parsers.Date.Parsec
Gargantext.Core.Text.Corpus.API
Gargantext.Core.Text.Corpus.Parsers.CSV
Gargantext.Core.Text.List.Formats.CSV
Gargantext.Core.Text.Metrics
Gargantext.Core.Text.Metrics.TFICF
Gargantext.Core.Text.Metrics.CharByChar
Gargantext.Core.Text.Metrics.Count
Gargantext.Core.Text.Prepare
Gargantext.Core.Text.Search
Gargantext.Core.Text.Terms
Gargantext.Core.Text.Terms.Mono
Gargantext.Core.Text.Terms.Multi.Lang.En
Gargantext.Core.Text.Terms.Multi.Lang.Fr
Gargantext.Core.Text.Terms.Multi.RAKE
Gargantext.Core.Text.Terms.WithList
Gargantext.Core.Viz.Graph
Gargantext.Core.Viz.Graph.Tools
Gargantext.Core.Viz.Graph.Tools.IGraph
Gargantext.Core.Viz.Graph.Index
Gargantext.Core.Viz.Phylo
Gargantext.Core.Viz.Phylo.API
Gargantext.Core.Viz.Phylo.API.Tools
Gargantext.Core.Viz.Phylo.PhyloMaker
Gargantext.Core.Viz.Phylo.PhyloTools
Gargantext.Core.Viz.Phylo.PhyloExport
Gargantext.Core.Viz.Phylo.SynchronicClustering
Gargantext.Core.Viz.Types
other-modules:
Gargantext.API.Admin.Auth
Gargantext.API.Admin.FrontEnd
Gargantext.API.Admin.Orchestrator
Gargantext.API.Admin.Orchestrator.Scrapy.Schedule
Gargantext.API.Admin.Orchestrator.Types
Gargantext.API.Admin.Utils
Gargantext.API.Context
Gargantext.API.Count
Gargantext.API.EKG
Gargantext.API.Flow
Gargantext.API.GraphQL
Gargantext.API.GraphQL.Annuaire
Gargantext.API.GraphQL.AsyncTask
Gargantext.API.GraphQL.IMT
Gargantext.API.GraphQL.Node
Gargantext.API.GraphQL.Team
Gargantext.API.GraphQL.TreeFirstLevel
Gargantext.API.GraphQL.User
Gargantext.API.GraphQL.UserInfo
Gargantext.API.GraphQL.Utils
Gargantext.API.Job
Gargantext.API.Metrics
Gargantext.API.Ngrams.List
Gargantext.API.Ngrams.List.Types
Gargantext.API.Ngrams.NgramsTree
Gargantext.API.Node.Contact
Gargantext.API.Node.Corpus.Annuaire
Gargantext.API.Node.Corpus.Export
Gargantext.API.Node.Corpus.Export.Types
Gargantext.API.Node.Corpus.New
Gargantext.API.Node.Corpus.New.File
Gargantext.API.Node.Corpus.New.Types
Gargantext.API.Node.Corpus.Searx
Gargantext.API.Node.Corpus.Types
Gargantext.API.Node.Document.Export
Gargantext.API.Node.Document.Export.Types
Gargantext.API.Node.DocumentsFromWriteNodes
Gargantext.API.Node.DocumentUpload
Gargantext.API.Node.FrameCalcUpload
Gargantext.API.Node.Get
Gargantext.API.Node.New
Gargantext.API.Node.Types
Gargantext.API.Node.Update
Gargantext.API.Public
Gargantext.API.Routes
Gargantext.API.Search
Gargantext.API.Server
Gargantext.API.Swagger
Gargantext.API.Table
Gargantext.API.ThrowAll
Gargantext.API.Types
Gargantext.Core.Ext.IMT
Gargantext.Core.Ext.IMTUser
Gargantext.Core.Flow.Ngrams
Gargantext.Core.Flow.Types
Gargantext.Core.Mail
Gargantext.Core.Mail.Types
Gargantext.Core.Methods.Graph.BAC.Proxemy
Gargantext.Core.Methods.Graph.MaxClique
Gargantext.Core.Methods.Matrix.Accelerate.Utils
Gargantext.Core.Methods.Similarities.Accelerate.Conditional
Gargantext.Core.Methods.Similarities.Accelerate.Distributional
Gargantext.Core.Methods.Similarities.Accelerate.SpeGen
Gargantext.Core.Methods.Similarities.Conditional
Gargantext.Core.Methods.Similarities.Distributional
Gargantext.Core.NodeStoryFile
Gargantext.Core.Statistics
Gargantext.Core.Text.Convert
Gargantext.Core.Text.Corpus.API.Arxiv
Gargantext.Core.Text.Corpus.API.Hal
Gargantext.Core.Text.Corpus.API.Isidore
Gargantext.Core.Text.Corpus.API.Istex
Gargantext.Core.Text.Corpus.API.Pubmed
Gargantext.Core.Text.Corpus.Parsers.Date
Gargantext.Core.Text.Corpus.Parsers.Date.Attoparsec
Gargantext.Core.Text.Corpus.Parsers.FrameWrite
Gargantext.Core.Text.Corpus.Parsers.GrandDebat
Gargantext.Core.Text.Corpus.Parsers.Isidore
Gargantext.Core.Text.Corpus.Parsers.Json2Csv
Gargantext.Core.Text.Corpus.Parsers.RIS
Gargantext.Core.Text.Corpus.Parsers.RIS.Presse
Gargantext.Core.Text.Corpus.Parsers.Wikidata
Gargantext.Core.Text.Corpus.Parsers.Wikidata.Crawler
Gargantext.Core.Text.Corpus.Parsers.Wikimedia
Gargantext.Core.Text.Corpus.Parsers.WOS
Gargantext.Core.Text.Learn
Gargantext.Core.Text.List
Gargantext.Core.Text.List.Group
Gargantext.Core.Text.List.Group.Prelude
Gargantext.Core.Text.List.Group.WithScores
Gargantext.Core.Text.List.Group.WithStem
Gargantext.Core.Text.List.Learn
Gargantext.Core.Text.List.Merge
Gargantext.Core.Text.List.Social
Gargantext.Core.Text.List.Social.Find
Gargantext.Core.Text.List.Social.History
Gargantext.Core.Text.List.Social.Patch
Gargantext.Core.Text.List.Social.Prelude
Gargantext.Core.Text.Metrics.FrequentItemSet
Gargantext.Core.Text.Metrics.SpeGen.IncExc
Gargantext.Core.Text.Metrics.Utils
Gargantext.Core.Text.Samples.CH
Gargantext.Core.Text.Samples.DE
Gargantext.Core.Text.Samples.EN
Gargantext.Core.Text.Samples.FR
Gargantext.Core.Text.Samples.SP
Gargantext.Core.Text.Terms.Eleve
Gargantext.Core.Text.Terms.Mono.Stem
Gargantext.Core.Text.Terms.Mono.Stem.En
Gargantext.Core.Text.Terms.Mono.Token
Gargantext.Core.Text.Terms.Mono.Token.En
Gargantext.Core.Text.Terms.Multi
Gargantext.Core.Text.Terms.Multi.Group
Gargantext.Core.Text.Terms.Multi.PosTagging
Gargantext.Core.Text.Terms.Multi.PosTagging.Types
Gargantext.Core.Types.Phylo
Gargantext.Core.Utils
Gargantext.Core.Utils.DateUtils
Gargantext.Core.Viz
Gargantext.Core.Viz.Chart
Gargantext.Core.Viz.Graph.API
Gargantext.Core.Viz.Graph.Bridgeness
Gargantext.Core.Viz.Graph.FGL
Gargantext.Core.Viz.Graph.GEXF
Gargantext.Core.Viz.Graph.Legend
Gargantext.Core.Viz.Graph.Tools.Infomap
Gargantext.Core.Viz.Graph.Types
Gargantext.Core.Viz.Graph.Utils
Gargantext.Core.Viz.LegacyPhylo
Gargantext.Core.Viz.Phylo.Example
Gargantext.Core.Viz.Phylo.Legacy.LegacyMain
Gargantext.Core.Viz.Phylo.TemporalMatching
Gargantext.Data.HashMap.Strict.Utils
Gargantext.Database
Gargantext.Database.Action.Delete
Gargantext.Database.Action.Flow.Annuaire
Gargantext.Database.Action.Flow.List
Gargantext.Database.Action.Flow.Pairing
Gargantext.Database.Action.Flow.Utils
Gargantext.Database.Action.Index
Gargantext.Database.Action.Learn
Gargantext.Database.Action.Mail
Gargantext.Database.Action.Metrics
Gargantext.Database.Action.Metrics.Lists
Gargantext.Database.Action.Metrics.NgramsByContext
Gargantext.Database.Action.Metrics.TFICF
Gargantext.Database.Action.Node
Gargantext.Database.Action.Search
Gargantext.Database.Action.Share
Gargantext.Database.Action.TSQuery
Gargantext.Database.Action.User
Gargantext.Database.Admin.Access
Gargantext.Database.Admin.Bashql
Gargantext.Database.Admin.Trigger.ContextNodeNgrams
Gargantext.Database.Admin.Trigger.Contexts
Gargantext.Database.Admin.Trigger.NodesContexts
Gargantext.Database.Admin.Types.Hyperdata.Any
Gargantext.Database.Admin.Types.Hyperdata.Contact
Gargantext.Database.Admin.Types.Hyperdata.Corpus
Gargantext.Database.Admin.Types.Hyperdata.CorpusField
Gargantext.Database.Admin.Types.Hyperdata.Dashboard
Gargantext.Database.Admin.Types.Hyperdata.Default
Gargantext.Database.Admin.Types.Hyperdata.Document
Gargantext.Database.Admin.Types.Hyperdata.File
Gargantext.Database.Admin.Types.Hyperdata.Folder
Gargantext.Database.Admin.Types.Hyperdata.Frame
Gargantext.Database.Admin.Types.Hyperdata.List
Gargantext.Database.Admin.Types.Hyperdata.Model
Gargantext.Database.Admin.Types.Hyperdata.Phylo
Gargantext.Database.Admin.Types.Hyperdata.Prelude
Gargantext.Database.Admin.Types.Hyperdata.Texts
Gargantext.Database.Admin.Types.Hyperdata.User
Gargantext.Database.Admin.Types.Metrics
Gargantext.Database.GargDB
Gargantext.Database.Query
Gargantext.Database.Query.Facet
Gargantext.Database.Query.Filter
Gargantext.Database.Query.Join
Gargantext.Database.Query.Prelude
Gargantext.Database.Query.Table.Context
Gargantext.Database.Query.Table.ContextNodeNgrams
Gargantext.Database.Query.Table.ContextNodeNgrams2
Gargantext.Database.Query.Table.Ngrams
Gargantext.Database.Query.Table.Node.Children
Gargantext.Database.Query.Table.Node.Contact
Gargantext.Database.Query.Table.Node.Document.Add
Gargantext.Database.Query.Table.Node.Document.Insert
Gargantext.Database.Query.Table.Node.Error
Gargantext.Database.Query.Table.Node.Select
Gargantext.Database.Query.Table.Node.Update
Gargantext.Database.Query.Table.Node.User
Gargantext.Database.Query.Table.Node_NodeNgramsNodeNgrams
Gargantext.Database.Query.Table.NodeContext
Gargantext.Database.Query.Table.NodeContext_NodeContext
Gargantext.Database.Query.Table.NodeNgrams
Gargantext.Database.Query.Table.NodeNode
Gargantext.Database.Query.Table.NodeNodeNgrams
Gargantext.Database.Query.Table.NodesNgramsRepo
Gargantext.Database.Query.Tree
Gargantext.Database.Query.Tree.Error
Gargantext.Database.Query.Tree.Root
Gargantext.Database.Schema.Context
Gargantext.Database.Schema.ContextNodeNgrams
Gargantext.Database.Schema.ContextNodeNgrams2
Gargantext.Database.Schema.NgramsPostag
Gargantext.Database.Schema.Node
Gargantext.Database.Schema.Node_NodeNgramsNodeNgrams
Gargantext.Database.Schema.NodeContext
Gargantext.Database.Schema.NodeContext_NodeContext
Gargantext.Database.Schema.NodeNgrams
Gargantext.Database.Schema.NodeNode
Gargantext.Database.Schema.NodeNodeNgrams
Gargantext.Database.Schema.NodeNodeNgrams2
Gargantext.Database.Schema.NodesNgramsRepo
Gargantext.Database.Schema.Prelude
Gargantext.Database.Schema.User
Gargantext.Database.Types
Gargantext.Utils.Aeson
Gargantext.Utils.JohnSnowNLP
Gargantext.Utils.Servant
Gargantext.Utils.UTCTime
Paths_gargantext
hs-source-dirs:
src
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wmissing-signatures -Wunused-binds -Wunused-imports -Werror -freduction-depth=300
build-depends:
HSvm
, KMP
, MissingH
, MonadRandom
, QuickCheck
, Unique
, accelerate
, accelerate-arithmetic
, accelerate-llvm-native
, accelerate-utility
, aeson
, aeson-lens
, aeson-pretty
, array
, async
, attoparsec
, auto-update
, base >=4.7 && <5
, base16-bytestring
, base64-bytestring
, blaze-html
, blaze-markup
, blaze-svg
, bytestring
, case-insensitive
, cassava
, cborg
, cereal
, conduit
, conduit-extra
, containers
, contravariant
, crawlerArxiv
, crawlerHAL
, crawlerISTEX
, crawlerIsidore
, crawlerPubMed
, cryptohash
, data-time-segment
, deepseq
, directory
, duckling
, ekg-core
, ekg-json
, exceptions
, extra
, fast-logger
, fclabels
, fgl
, filelock
, filepath
, formatting
, full-text-search
, fullstop
, gargantext-graph >=0.1.0.0
, gargantext-prelude
, graphviz
, hashable
, haskell-igraph
, hlcm
, hsinfomap
, hsparql
, hstatistics
, http-api-data
, http-client
, http-client-tls
, http-conduit
, http-media
, http-types
, hxt
, ihaskell
, ini
, insert-ordered-containers
, jose
, json-stream
, lens
, lifted-base
, listsafe
, located-base
, logging-effect
, matrix
, monad-control
, monad-logger
, monad-logger-aeson
, morpheus-graphql
, morpheus-graphql-app
, morpheus-graphql-core
, morpheus-graphql-subscriptions
, mtl
, natural-transformation
, opaleye
, pandoc
, parallel
, parsec
, patches-class
, patches-map
, path
, path-io
, postgresql-simple
, pretty-simple
, probability
, process
, product-profunctors
, profunctors
, protolude
, pureMD5
, quickcheck-instances
, rake
, random
, rdf4h
, regex-compat
, regex-tdfa
, resource-pool
, resourcet
, safe
, scientific
, semigroups
, serialise
, servant
, servant-auth
, servant-auth-client
, servant-auth-server >=0.4.4.0
, servant-auth-swagger
, servant-blaze
, servant-cassava
, servant-client
, servant-ekg
, servant-flatten
, servant-job
, servant-mock
, servant-multipart
, servant-server
, servant-static-th
, servant-swagger
, servant-swagger-ui
, servant-xml
, simple-reflect
, singletons
, split
, stemmer
, swagger2
, taggy-lens
, tagsoup
, template-haskell
, temporary
, text
, text-conversions
, text-metrics
, time
, time-locale-compat
, timezone-series
, transformers
, transformers-base
, tuple
, unordered-containers
, uri-encode
, utf8-string
, uuid
, validity
, vector
, wai
, wai-app-static
, wai-cors
, wai-extra
, wai-websockets
, warp
, websockets
, wikiparsec
, wreq
, xml-conduit
, xml-types
, xmlbf
, yaml
, zip
, zlib
default-language: Haskell2010
executable gargantext-admin
main-is: Main.hs
other-modules:
Paths_gargantext
hs-source-dirs:
bin/gargantext-admin
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -Wmissing-signatures
build-depends:
base
, extra
, gargantext
, gargantext-prelude
, text
default-language: Haskell2010
executable gargantext-cbor2json
main-is: Main.hs
other-modules:
Paths_gargantext
hs-source-dirs:
bin/gargantext-cbor2json
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -Wmissing-signatures
build-depends:
aeson
, base
, bytestring
, extra
, gargantext
, gargantext-prelude
, serialise
, text
default-language: Haskell2010
executable gargantext-cli
main-is: Main.hs
other-modules:
CleanCsvCorpus
Paths_gargantext
hs-source-dirs:
bin/gargantext-cli
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -Wmissing-signatures
build-depends:
aeson
, async
, base
, bytestring
, cassava
, containers
, extra
, full-text-search
, gargantext
, gargantext-prelude
, ini
, optparse-generic
, split
, text
, unordered-containers
, vector
default-language: Haskell2010
executable gargantext-client
main-is: Main.hs
other-modules:
Auth
Core
Options
Script
Tracking
Paths_gargantext
hs-source-dirs:
bin/gargantext-client
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
ghc-options: -Wall -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -Wmissing-signatures
build-depends:
base
, ekg-json
, exceptions
, extra
, gargantext
, http-client
, optparse-generic
, servant
, servant-auth-client
, servant-client
, text
default-language: Haskell2010
executable gargantext-import
main-is: Main.hs
other-modules:
Paths_gargantext
hs-source-dirs:
bin/gargantext-import
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -Wmissing-signatures
build-depends:
base
, extra
, gargantext
, gargantext-prelude
, servant-server
, text
default-language: Haskell2010
executable gargantext-init
main-is: Main.hs
other-modules:
Paths_gargantext
hs-source-dirs:
bin/gargantext-init
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -Wmissing-signatures
build-depends:
base
, extra
, gargantext
, gargantext-prelude
, text
default-language: Haskell2010
executable gargantext-invitations
main-is: Main.hs
other-modules:
Paths_gargantext
hs-source-dirs:
bin/gargantext-invitations
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -Wmissing-signatures
build-depends:
base
, extra
, gargantext
, gargantext-prelude
, text
default-language: Haskell2010
executable gargantext-phylo
main-is: Main.hs
other-modules:
Paths_gargantext
hs-source-dirs:
bin/gargantext-phylo
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -Wmissing-signatures
build-depends:
aeson
, async
, base
, bytestring
, cassava
, containers
, cryptohash
, directory
, extra
, gargantext
, gargantext-prelude
, ini
, optparse-generic
, parallel
, split
, text
, time
, unordered-containers
, vector
default-language: Haskell2010
executable gargantext-server
main-is: Main.hs
other-modules:
Paths_gargantext
hs-source-dirs:
bin/gargantext-server
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
ghc-options: -Wall -O2 -Wcompat -Wmissing-signatures -rtsopts -threaded -with-rtsopts=-N -with-rtsopts=-T -fprof-auto
build-depends:
base
, cassava
, containers
, extra
, full-text-search
, gargantext
, gargantext-prelude
, ini
, optparse-generic
, text
, unordered-containers
, vector
default-language: Haskell2010
executable gargantext-upgrade
main-is: Main.hs
other-modules:
Paths_gargantext
hs-source-dirs:
bin/gargantext-upgrade
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -Wmissing-signatures
build-depends:
base
, extra
, gargantext
, gargantext-prelude
, postgresql-simple
, text
default-language: Haskell2010
test-suite garg-test
type: exitcode-stdio-1.0
main-is: Main.hs
other-modules:
Core.Text
Core.Text.Examples
Core.Text.Flow
Graph.Clustering
Graph.Distance
Ngrams.Lang
Ngrams.Lang.En
Ngrams.Lang.Fr
Ngrams.Lang.Occurrences
Ngrams.Metrics
Parsers.Date
Parsers.Types
Parsers.WOS
Utils.Crypto
Paths_gargantext
hs-source-dirs:
src-test
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
OverloadedStrings
RankNTypes
RecordWildCards
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NoImplicitPrelude
OverloadedStrings
RankNTypes
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
build-depends:
QuickCheck
, base
, duckling
, extra
, gargantext
, gargantext-prelude
, hspec
, parsec
, quickcheck-instances
, text
, time
, unordered-containers
default-language: Haskell2010
......@@ -15,7 +15,7 @@ module Graph.Clustering where
import Gargantext.API.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core.Viz.Graph (Graph(..), Strength(..))
import Gargantext.Core.Viz.Graph.Tools (doDistanceMap)
import Gargantext.Core.Viz.Graph.Tools (doSimilarityMap)
import Gargantext.Core.Viz.Graph.Tools.IGraph (spinglass)
import Gargantext.Prelude
import Test.Hspec
......@@ -24,7 +24,7 @@ import qualified Data.HashMap.Strict as HashMap
import qualified Data.List as List
import Gargantext.Core.Viz.Graph.Tools (PartitionMethod(..))
import Gargantext.Core.Viz.Graph.Tools.IGraph (spinglass)
import Gargantext.Core.Methods.Distances (Distance(..))
import Gargantext.Core.Methods.Similarities (Similarity(..))
myCooc :: HashMap (NgramsTerm, NgramsTerm) Int
myCooc = HashMap.fromList [((NgramsTerm {unNgramsTerm = "gev au"},NgramsTerm {unNgramsTerm = "sqrt"}),12),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "data"}),8),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "transverse momentum"}),6),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "gev au"}),7),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "rhic"}),13),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "sqrt"}),27),((NgramsTerm {unNgramsTerm = "pi ^"},NgramsTerm {unNgramsTerm = "s"}),8),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "p"}),27),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "s"}),10),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),5),((NgramsTerm {unNgramsTerm = "eta"},NgramsTerm {unNgramsTerm = "gev"}),9),((NgramsTerm {unNgramsTerm = "phi"},NgramsTerm {unNgramsTerm = "transverse momentum"}),3),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "hadrons"}),4),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "gev"}),9),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "gev/c"}),3),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "nn"}),80),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "particle"}),3),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "p collisions"}),6),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "sqrt"}),88),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "gev/c"}),5),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "gev au"}),5),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "p_t"}),5),((NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"},NgramsTerm {unNgramsTerm = "sqrt"}),10),((NgramsTerm {unNgramsTerm = "rhic"},NgramsTerm {unNgramsTerm = "s_nn"}),12),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "p"}),21),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "sqrt"}),6),((NgramsTerm {unNgramsTerm = "au-au collisions"},NgramsTerm {unNgramsTerm = "gev"}),12),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),8),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "rhic"}),3),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "eta"}),4),((NgramsTerm {unNgramsTerm = "eta"},NgramsTerm {unNgramsTerm = "sqrt"}),9),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "particle"}),8),((NgramsTerm {unNgramsTerm = "au-au collisions"},NgramsTerm {unNgramsTerm = "sqrt"}),10),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "s_nn"}),12),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "particle"}),4),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "phenix experiment"}),4),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "nn"}),65),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "number"}),3),((NgramsTerm {unNgramsTerm = "p_t"},NgramsTerm {unNgramsTerm = "s_nn"}),11),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "not found"}),7),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "number"}),4),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "pi ^"}),7),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "spectra"}),3),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "s"}),9),((NgramsTerm {unNgramsTerm = "second part"},NgramsTerm {unNgramsTerm = "thesis"}),4),((NgramsTerm {unNgramsTerm = "eta"},NgramsTerm {unNgramsTerm = "pi ^"}),5),((NgramsTerm {unNgramsTerm = "midrapidity"},NgramsTerm {unNgramsTerm = "p collisions"}),3),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "s_nn"}),13),((NgramsTerm {unNgramsTerm = "number"},NgramsTerm {unNgramsTerm = "s_nn"}),5),((NgramsTerm {unNgramsTerm = "nuclear modification factors"},NgramsTerm {unNgramsTerm = "p collisions"}),3),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "number"}),4),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "s"}),8),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "p"}),6),((NgramsTerm {unNgramsTerm = "lambda"},NgramsTerm {unNgramsTerm = "rhic"}),4),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "pi ^"}),13),((NgramsTerm {unNgramsTerm = "lambda"},NgramsTerm {unNgramsTerm = "p"}),3),((NgramsTerm {unNgramsTerm = "gev au"},NgramsTerm {unNgramsTerm = "pi ^"}),3),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "nn"}),10),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "mid-rapidity"}),7),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "p_t"}),3),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "yields"}),7),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "phenix experiment"}),9),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "rhic"}),7),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "gev/c"}),6),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "pi ^"}),4),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "central collisions"}),3),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "not found"}),7),((NgramsTerm {unNgramsTerm = "s"},NgramsTerm {unNgramsTerm = "s_nn"}),7),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "phenix experiment"}),5),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "energy"}),3),((NgramsTerm {unNgramsTerm = "ratio"},NgramsTerm {unNgramsTerm = "s"}),4),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "nn"}),6),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "p"}),4),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "number"}),11),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "spectra"}),5),((NgramsTerm {unNgramsTerm = "central collisions"},NgramsTerm {unNgramsTerm = "s_nn"}),3),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "nuclear modification factors"}),4),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "nn"}),6),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "phenix experiment"}),8),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "not found"}),3),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "p collisions"}),3),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "not found"}),15),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "phenix experiment"}),9),((NgramsTerm {unNgramsTerm = "s_nn"},NgramsTerm {unNgramsTerm = "yields"}),3),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "s"}),14),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "s"}),18),((NgramsTerm {unNgramsTerm = "not found"},NgramsTerm {unNgramsTerm = "phi"}),4),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "yields"}),3),((NgramsTerm {unNgramsTerm = "nuclear modification factors"},NgramsTerm {unNgramsTerm = "rhic"}),5),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "gev au"}),3),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "phi"}),3),((NgramsTerm {unNgramsTerm = "phi"},NgramsTerm {unNgramsTerm = "s"}),9),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "midrapidity"}),4),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "function"}),6),((NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"},NgramsTerm {unNgramsTerm = "spectra"}),3),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "p"}),5),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "p_t"}),9),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "p_t"}),8),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "eta"}),3),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "spectra"}),6),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "ratio"}),5),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "p collisions"}),6),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "measurements"}),23),((NgramsTerm {unNgramsTerm = "p collisions"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),5),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "phi"}),10),((NgramsTerm {unNgramsTerm = "ratio"},NgramsTerm {unNgramsTerm = "sqrt"}),6),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "sqrt"}),25),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "sqrt"}),21),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "particle"}),5),((NgramsTerm {unNgramsTerm = "p collisions"},NgramsTerm {unNgramsTerm = "rhic"}),10),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "particle"}),4),((NgramsTerm {unNgramsTerm = "central collisions"},NgramsTerm {unNgramsTerm = "phenix experiment"}),3),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "hadrons"}),8),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "transverse momentum"}),3),((NgramsTerm {unNgramsTerm = "s"},NgramsTerm {unNgramsTerm = "yields"}),5),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "function"}),3),((NgramsTerm {unNgramsTerm = "central collisions"},NgramsTerm {unNgramsTerm = "s"}),3),((NgramsTerm {unNgramsTerm = "phi"},NgramsTerm {unNgramsTerm = "sqrt"}),9),((NgramsTerm {unNgramsTerm = "elliptic flow"},NgramsTerm {unNgramsTerm = "hadrons"}),3),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),3),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "spectra"}),3),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "pi ^"}),3),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "phi"}),7),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "p"}),4),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "measurements"}),14),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "ratio"}),7),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "suppression"}),4),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "s_nn"}),17),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "yields"}),5),((NgramsTerm {unNgramsTerm = "number"},NgramsTerm {unNgramsTerm = "yields"}),3),((NgramsTerm {unNgramsTerm = "rhic"},NgramsTerm {unNgramsTerm = "transverse momentum"}),5),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "d"}),3),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "gev"}),69),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "centralities"}),20),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "centrality dependence"}),8),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "rhic"}),6),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "nn"}),99),((NgramsTerm {unNgramsTerm = "pi ^"},NgramsTerm {unNgramsTerm = "pi ^"}),22),((NgramsTerm {unNgramsTerm = "eta"},NgramsTerm {unNgramsTerm = "nn"}),7),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "p"}),4),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "phi"}),6),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "mid-rapidity"}),18),((NgramsTerm {unNgramsTerm = "midrapidity"},NgramsTerm {unNgramsTerm = "midrapidity"}),13),((NgramsTerm {unNgramsTerm = "eu"},NgramsTerm {unNgramsTerm = "ph"}),5),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "suppression"}),5),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "gev/c"}),30),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "pi ^"}),4),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "s_nn"}),3),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "measurements"}),58),((NgramsTerm {unNgramsTerm = "yields"},NgramsTerm {unNgramsTerm = "yields"}),15),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "measurements"}),6),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "suppression"}),3),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "p collisions"}),3),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "p"}),50),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "data"}),44),((NgramsTerm {unNgramsTerm = "sqrt"},NgramsTerm {unNgramsTerm = "sqrt"}),118),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "particle"}),12),((NgramsTerm {unNgramsTerm = "gev au"},NgramsTerm {unNgramsTerm = "p"}),5),((NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),13),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "centrality dependence"}),18),((NgramsTerm {unNgramsTerm = "gev au"},NgramsTerm {unNgramsTerm = "gev au"}),14),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "s_nn"}),5),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "function"}),31),((NgramsTerm {unNgramsTerm = "p collisions"},NgramsTerm {unNgramsTerm = "p collisions"}),20),((NgramsTerm {unNgramsTerm = "eu"},NgramsTerm {unNgramsTerm = "eu"}),9),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "central au"}),14),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "sqrt"}),98),((NgramsTerm {unNgramsTerm = "spectra"},NgramsTerm {unNgramsTerm = "spectra"}),16),((NgramsTerm {unNgramsTerm = "gev au"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),3),((NgramsTerm {unNgramsTerm = "au-au collisions"},NgramsTerm {unNgramsTerm = "nn"}),13),((NgramsTerm {unNgramsTerm = "particle"},NgramsTerm {unNgramsTerm = "sqrt"}),10),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "gev"}),125),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "d"}),32),((NgramsTerm {unNgramsTerm = "gev au"},NgramsTerm {unNgramsTerm = "nn"}),10),((NgramsTerm {unNgramsTerm = "s_nn"},NgramsTerm {unNgramsTerm = "s_nn"}),20),((NgramsTerm {unNgramsTerm = "nuclear modification factors"},NgramsTerm {unNgramsTerm = "nuclear modification factors"}),9),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "ratio"}),6),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "centralities"}),28),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "rhic"}),9),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "au"}),101),((NgramsTerm {unNgramsTerm = "central collisions"},NgramsTerm {unNgramsTerm = "central collisions"}),9),((NgramsTerm {unNgramsTerm = "thesis"},NgramsTerm {unNgramsTerm = "thesis"}),13),((NgramsTerm {unNgramsTerm = "ph"},NgramsTerm {unNgramsTerm = "ph"}),12),((NgramsTerm {unNgramsTerm = "eta"},NgramsTerm {unNgramsTerm = "eta"}),13),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "particle"}),8),((NgramsTerm {unNgramsTerm = "case study"},NgramsTerm {unNgramsTerm = "case study"}),24),((NgramsTerm {unNgramsTerm = "rhic"},NgramsTerm {unNgramsTerm = "rhic"}),66),((NgramsTerm {unNgramsTerm = "particle"},NgramsTerm {unNgramsTerm = "particle"}),27),((NgramsTerm {unNgramsTerm = "number"},NgramsTerm {unNgramsTerm = "number"}),32),((NgramsTerm {unNgramsTerm = "au-au collisions"},NgramsTerm {unNgramsTerm = "au-au collisions"}),14),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "p"}),18),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),5),((NgramsTerm {unNgramsTerm = "au-au collisions"},NgramsTerm {unNgramsTerm = "eta"}),3),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),4),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "sqrt"}),76),((NgramsTerm {unNgramsTerm = "lambda"},NgramsTerm {unNgramsTerm = "lambda"}),10),((NgramsTerm {unNgramsTerm = "eta"},NgramsTerm {unNgramsTerm = "p"}),3),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "energy"}),25),((NgramsTerm {unNgramsTerm = "central collisions"},NgramsTerm {unNgramsTerm = "yields"}),4),((NgramsTerm {unNgramsTerm = "elliptic flow"},NgramsTerm {unNgramsTerm = "elliptic flow"}),14),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "gev"}),73),((NgramsTerm {unNgramsTerm = "number"},NgramsTerm {unNgramsTerm = "p"}),5),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "spectra"}),9),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "function"}),12),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "pi ^"}),5),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "number"}),4),((NgramsTerm {unNgramsTerm = "elliptic flow"},NgramsTerm {unNgramsTerm = "p_t"}),4),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "s_nn"}),7),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "sqrt"}),11),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "mid-rapidity"}),3),((NgramsTerm {unNgramsTerm = "nuclear modification factors"},NgramsTerm {unNgramsTerm = "suppression"}),3),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "measurements"}),3),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "rhic"}),15),((NgramsTerm {unNgramsTerm = "number"},NgramsTerm {unNgramsTerm = "rhic"}),6),((NgramsTerm {unNgramsTerm = "p_t"},NgramsTerm {unNgramsTerm = "rhic"}),8),((NgramsTerm {unNgramsTerm = "pi ^"},NgramsTerm {unNgramsTerm = "sqrt"}),11),((NgramsTerm {unNgramsTerm = "not found"},NgramsTerm {unNgramsTerm = "rhic"}),28),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "phenix experiment"}),13),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "nuclear modification factors"}),7),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "s"}),16),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "pi ^"}),9),((NgramsTerm {unNgramsTerm = "elliptic flow"},NgramsTerm {unNgramsTerm = "not found"}),6),((NgramsTerm {unNgramsTerm = "elliptic flow"},NgramsTerm {unNgramsTerm = "s"}),9),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "central au"}),8),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),6),((NgramsTerm {unNgramsTerm = "not found"},NgramsTerm {unNgramsTerm = "p"}),16),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "midrapidity"}),3),((NgramsTerm {unNgramsTerm = "rhic"},NgramsTerm {unNgramsTerm = "s"}),23),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "p_t"}),12),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "measurements"}),6),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "energy"}),7),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "p_t"}),4),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "pi ^"}),8),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "s"}),10),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "midrapidity"}),8),((NgramsTerm {unNgramsTerm = "midrapidity"},NgramsTerm {unNgramsTerm = "sqrt"}),8),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "nuclear modification factors"}),5),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "s_nn"}),3),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "energy"}),3),((NgramsTerm {unNgramsTerm = "p collisions"},NgramsTerm {unNgramsTerm = "p_t"}),5),((NgramsTerm {unNgramsTerm = "lambda"},NgramsTerm {unNgramsTerm = "measurements"}),3),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "function"}),3),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "yields"}),5),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "not found"}),3),((NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"},NgramsTerm {unNgramsTerm = "yields"}),3),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "transverse momentum"}),5),((NgramsTerm {unNgramsTerm = "pi ^"},NgramsTerm {unNgramsTerm = "ratio"}),3),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "mid-rapidity"}),5),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "mid-rapidity"}),7),((NgramsTerm {unNgramsTerm = "p collisions"},NgramsTerm {unNgramsTerm = "s"}),13),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "central au"}),14),((NgramsTerm {unNgramsTerm = "central collisions"},NgramsTerm {unNgramsTerm = "nn"}),3),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "ratio"}),4),((NgramsTerm {unNgramsTerm = "p_t"},NgramsTerm {unNgramsTerm = "transverse momentum"}),3),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "midrapidity"}),7),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "nuclear modification factors"}),6),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "spectra"}),6),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "s_nn"}),8),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "function"}),6),((NgramsTerm {unNgramsTerm = "nuclear modification factors"},NgramsTerm {unNgramsTerm = "sqrt"}),5),((NgramsTerm {unNgramsTerm = "s"},NgramsTerm {unNgramsTerm = "transverse momentum"}),9),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "yields"}),5),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "phenix experiment"}),3),((NgramsTerm {unNgramsTerm = "p collisions"},NgramsTerm {unNgramsTerm = "phenix experiment"}),6),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "ratio"}),4),((NgramsTerm {unNgramsTerm = "s"},NgramsTerm {unNgramsTerm = "spectra"}),8),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "phi"}),9),((NgramsTerm {unNgramsTerm = "nuclear modification factors"},NgramsTerm {unNgramsTerm = "phenix experiment"}),3),((NgramsTerm {unNgramsTerm = "rhic"},NgramsTerm {unNgramsTerm = "suppression"}),6),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "s_nn"}),5),((NgramsTerm {unNgramsTerm = "nuclear modification factors"},NgramsTerm {unNgramsTerm = "s"}),6),((NgramsTerm {unNgramsTerm = "p collisions"},NgramsTerm {unNgramsTerm = "s_nn"}),5),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "p collisions"}),4),((NgramsTerm {unNgramsTerm = "midrapidity"},NgramsTerm {unNgramsTerm = "s"}),8),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),6),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "hadrons"}),3),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "phi"}),3),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "eta"}),4),((NgramsTerm {unNgramsTerm = "midrapidity"},NgramsTerm {unNgramsTerm = "not found"}),5),((NgramsTerm {unNgramsTerm = "midrapidity"},NgramsTerm {unNgramsTerm = "phenix experiment"}),5),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "transverse momentum"}),5),((NgramsTerm {unNgramsTerm = "gev au"},NgramsTerm {unNgramsTerm = "measurements"}),4),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "spectra"}),3),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "measurements"}),7),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "data"}),5),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "ratio"}),3),((NgramsTerm {unNgramsTerm = "s_nn"},NgramsTerm {unNgramsTerm = "transverse momentum"}),4),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "suppression"}),6),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "rhic"}),28),((NgramsTerm {unNgramsTerm = "au-au collisions"},NgramsTerm {unNgramsTerm = "phi"}),3),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "gev/c"}),9),((NgramsTerm {unNgramsTerm = "eta"},NgramsTerm {unNgramsTerm = "measurements"}),3),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "nn"}),15),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "p"}),20),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "nn"}),13),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "elliptic flow"}),3),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "yields"}),4),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "ratio"}),6),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "gev au"}),4),((NgramsTerm {unNgramsTerm = "rhic"},NgramsTerm {unNgramsTerm = "sqrt"}),31),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "suppression"}),3),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "gev/c"}),15),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "nn"}),8),((NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"},NgramsTerm {unNgramsTerm = "s_nn"}),4),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "phenix experiment"}),7),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "transverse momentum"}),10),((NgramsTerm {unNgramsTerm = "particle"},NgramsTerm {unNgramsTerm = "rhic"}),5),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "rhic"}),23),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "s_nn"}),6),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "p"}),16),((NgramsTerm {unNgramsTerm = "p_t"},NgramsTerm {unNgramsTerm = "pi ^"}),5),((NgramsTerm {unNgramsTerm = "spectra"},NgramsTerm {unNgramsTerm = "yields"}),3),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "pi ^"}),5),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "p collisions"}),7),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "particle"}),3),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "p collisions"}),7),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "hadrons"}),10),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "p"}),4),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "gev/c"}),24),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "measurements"}),4),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "p_t"}),6),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "elliptic flow"}),10),((NgramsTerm {unNgramsTerm = "lambda"},NgramsTerm {unNgramsTerm = "not found"}),3),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "s"}),8),((NgramsTerm {unNgramsTerm = "elliptic flow"},NgramsTerm {unNgramsTerm = "sqrt"}),10),((NgramsTerm {unNgramsTerm = "lambda"},NgramsTerm {unNgramsTerm = "s"}),7),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "nn"}),11),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "s_nn"}),9),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "data"}),4),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "rhic"}),27),((NgramsTerm {unNgramsTerm = "gev au"},NgramsTerm {unNgramsTerm = "s_nn"}),4),((NgramsTerm {unNgramsTerm = "not found"},NgramsTerm {unNgramsTerm = "pi ^"}),8),((NgramsTerm {unNgramsTerm = "elliptic flow"},NgramsTerm {unNgramsTerm = "gev"}),11),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "sqrt"}),22),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "not found"}),61),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "hadrons"}),3),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "mid-rapidity"}),6),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "number"}),12),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "sqrt"}),19),((NgramsTerm {unNgramsTerm = "number"},NgramsTerm {unNgramsTerm = "sqrt"}),10),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "transverse momentum"}),3),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "phenix experiment"}),20),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "transverse momentum"}),4),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "p_t"}),16),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "s"}),64),((NgramsTerm {unNgramsTerm = "lambda"},NgramsTerm {unNgramsTerm = "nn"}),6),((NgramsTerm {unNgramsTerm = "not found"},NgramsTerm {unNgramsTerm = "sqrt"}),62),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "not found"}),56),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "yields"}),3),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "rhic"}),5),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "number"}),10),((NgramsTerm {unNgramsTerm = "pi ^"},NgramsTerm {unNgramsTerm = "rhic"}),8),((NgramsTerm {unNgramsTerm = "s"},NgramsTerm {unNgramsTerm = "sqrt"}),100),((NgramsTerm {unNgramsTerm = "phi"},NgramsTerm {unNgramsTerm = "yields"}),3),((NgramsTerm {unNgramsTerm = "central collisions"},NgramsTerm {unNgramsTerm = "centralities"}),3),((NgramsTerm {unNgramsTerm = "number"},NgramsTerm {unNgramsTerm = "particle"}),4),((NgramsTerm {unNgramsTerm = "central collisions"},NgramsTerm {unNgramsTerm = "measurements"}),3),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "pi ^"}),6),((NgramsTerm {unNgramsTerm = "pi ^"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),3),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "p_t"}),10),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "s"}),85),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "phenix experiment"}),16),((NgramsTerm {unNgramsTerm = "particle"},NgramsTerm {unNgramsTerm = "s"}),10),((NgramsTerm {unNgramsTerm = "not found"},NgramsTerm {unNgramsTerm = "particle"}),3),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "p"}),6),((NgramsTerm {unNgramsTerm = "p_t"},NgramsTerm {unNgramsTerm = "sqrt"}),15),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "nn"}),6),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "spectra"}),4),((NgramsTerm {unNgramsTerm = "central collisions"},NgramsTerm {unNgramsTerm = "gev"}),6),((NgramsTerm {unNgramsTerm = "rhic"},NgramsTerm {unNgramsTerm = "spectra"}),6),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "rhic"}),4),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "central collisions"}),5),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "phenix experiment"}),18),((NgramsTerm {unNgramsTerm = "s"},NgramsTerm {unNgramsTerm = "suppression"}),6),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "not found"}),55),((NgramsTerm {unNgramsTerm = "account"},NgramsTerm {unNgramsTerm = "number"}),3),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "yields"}),12),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "s"}),66),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "gev/c"}),5),((NgramsTerm {unNgramsTerm = "sqrt"},NgramsTerm {unNgramsTerm = "yields"}),9),((NgramsTerm {unNgramsTerm = "midrapidity"},NgramsTerm {unNgramsTerm = "nn"}),7),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "p_t"}),11),((NgramsTerm {unNgramsTerm = "midrapidity"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),4),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "rhic"}),8),((NgramsTerm {unNgramsTerm = "central collisions"},NgramsTerm {unNgramsTerm = "sqrt"}),5),((NgramsTerm {unNgramsTerm = "p_t"},NgramsTerm {unNgramsTerm = "suppression"}),3),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "nuclear modification factors"}),6),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "p collisions"}),3),((NgramsTerm {unNgramsTerm = "p collisions"},NgramsTerm {unNgramsTerm = "pi ^"}),4),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "suppression"}),5),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "number"}),7),((NgramsTerm {unNgramsTerm = "nuclear modification factors"},NgramsTerm {unNgramsTerm = "p"}),5),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "yields"}),8),((NgramsTerm {unNgramsTerm = "midrapidity"},NgramsTerm {unNgramsTerm = "p"}),6),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "transverse momentum"}),4),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "gev"}),22),((NgramsTerm {unNgramsTerm = "sqrt"},NgramsTerm {unNgramsTerm = "suppression"}),6),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "transverse momentum"}),9),((NgramsTerm {unNgramsTerm = "eta"},NgramsTerm {unNgramsTerm = "transverse momentum"}),3),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "nn"}),10),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "measurements"}),3),((NgramsTerm {unNgramsTerm = "nuclear modification factors"},NgramsTerm {unNgramsTerm = "pi ^"}),4),((NgramsTerm {unNgramsTerm = "au-au collisions"},NgramsTerm {unNgramsTerm = "transverse momentum"}),3),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "nuclear modification factors"}),3),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "mid-rapidity"}),5),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "transverse momentum"}),3),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "d"}),17),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "measurements"}),5),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "suppression"}),5),((NgramsTerm {unNgramsTerm = "particle"},NgramsTerm {unNgramsTerm = "suppression"}),3),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "ratio"}),3),((NgramsTerm {unNgramsTerm = "pi ^"},NgramsTerm {unNgramsTerm = "spectra"}),4),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "centrality dependence"}),12),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "particle"}),11),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "sqrt"}),77),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "transverse momentum"}),4),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "p collisions"}),18),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "s_nn"}),8),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "s_nn"}),11),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "au collisions"}),76),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "suppression"}),7),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "p collisions"}),8),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "gev"}),12),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "gev/c"}),4),((NgramsTerm {unNgramsTerm = "stability"},NgramsTerm {unNgramsTerm = "stability"}),8),((NgramsTerm {unNgramsTerm = "second part"},NgramsTerm {unNgramsTerm = "second part"}),8),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "rhic"}),8),((NgramsTerm {unNgramsTerm = "elliptic flow"},NgramsTerm {unNgramsTerm = "nn"}),9),((NgramsTerm {unNgramsTerm = "aspects"},NgramsTerm {unNgramsTerm = "aspects"}),9),((NgramsTerm {unNgramsTerm = "p_t"},NgramsTerm {unNgramsTerm = "s"}),9),((NgramsTerm {unNgramsTerm = "s_nn"},NgramsTerm {unNgramsTerm = "sqrt"}),20),((NgramsTerm {unNgramsTerm = "suppression"},NgramsTerm {unNgramsTerm = "suppression"}),16),((NgramsTerm {unNgramsTerm = "not found"},NgramsTerm {unNgramsTerm = "s"}),64),((NgramsTerm {unNgramsTerm = "not found"},NgramsTerm {unNgramsTerm = "not found"}),543),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "gev"}),14),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "hadrons"}),19),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "centrality dependence"}),12),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "sqrt"}),13),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "mid-rapidity"}),3),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "s"}),10),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "pi ^"}),4),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "phi"}),4),((NgramsTerm {unNgramsTerm = "particle"},NgramsTerm {unNgramsTerm = "s_nn"}),3),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "rhic"}),18),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "centralities"}),19),((NgramsTerm {unNgramsTerm = "number"},NgramsTerm {unNgramsTerm = "s"}),11),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "s_nn"}),19),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "suppression"}),9),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "nn"}),13),((NgramsTerm {unNgramsTerm = "p_t"},NgramsTerm {unNgramsTerm = "phenix experiment"}),8),((NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"},NgramsTerm {unNgramsTerm = "rhic"}),7),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "au collisions"}),102),((NgramsTerm {unNgramsTerm = "transverse momentum"},NgramsTerm {unNgramsTerm = "transverse momentum"}),15),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "nuclear modification factors"}),3),((NgramsTerm {unNgramsTerm = "eta"},NgramsTerm {unNgramsTerm = "gev/c"}),3),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "ph"}),3),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "ratio"}),4),((NgramsTerm {unNgramsTerm = "number"},NgramsTerm {unNgramsTerm = "phenix experiment"}),4),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "measurements"}),15),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "ratio"}),5),((NgramsTerm {unNgramsTerm = "phenix experiment"},NgramsTerm {unNgramsTerm = "phenix experiment"}),25),((NgramsTerm {unNgramsTerm = "phi"},NgramsTerm {unNgramsTerm = "phi"}),12),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "eu"}),4),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),5),((NgramsTerm {unNgramsTerm = "centrality dependence"},NgramsTerm {unNgramsTerm = "sqrt"}),10),((NgramsTerm {unNgramsTerm = "ratio"},NgramsTerm {unNgramsTerm = "ratio"}),11),((NgramsTerm {unNgramsTerm = "account"},NgramsTerm {unNgramsTerm = "account"}),17),((NgramsTerm {unNgramsTerm = "au-au collisions"},NgramsTerm {unNgramsTerm = "rhic"}),3),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "p"}),12),((NgramsTerm {unNgramsTerm = "gev au"},NgramsTerm {unNgramsTerm = "rhic"}),7),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "d"}),15),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "s_nn"}),15),((NgramsTerm {unNgramsTerm = "s"},NgramsTerm {unNgramsTerm = "s"}),118),((NgramsTerm {unNgramsTerm = "p_t"},NgramsTerm {unNgramsTerm = "p_t"}),17),((NgramsTerm {unNgramsTerm = "p collisions"},NgramsTerm {unNgramsTerm = "transverse momentum"}),3),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "rhic"}),18),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "p_t"}),9),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "sqrt"}),14),((NgramsTerm {unNgramsTerm = "au-au collisions"},NgramsTerm {unNgramsTerm = "s"}),10),((NgramsTerm {unNgramsTerm = "pi ^"},NgramsTerm {unNgramsTerm = "s_nn"}),4),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "function"}),13),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "not found"}),63),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "s_nn"}),4),((NgramsTerm {unNgramsTerm = "nuclear modification factors"},NgramsTerm {unNgramsTerm = "phi"}),3),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "lambda"}),7),((NgramsTerm {unNgramsTerm = "d"},NgramsTerm {unNgramsTerm = "pi ^"}),3),((NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"},NgramsTerm {unNgramsTerm = "s"}),6),((NgramsTerm {unNgramsTerm = "nuclear modification factors"},NgramsTerm {unNgramsTerm = "ratio"}),3),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "energy"}),7),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "p_t"}),6),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "nuclear modification factors"}),4),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "nuclear modification factors"}),4),((NgramsTerm {unNgramsTerm = "spectra"},NgramsTerm {unNgramsTerm = "suppression"}),3),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "mid-rapidity"}),12),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "s"}),89),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "spectra"}),5),((NgramsTerm {unNgramsTerm = "lambda"},NgramsTerm {unNgramsTerm = "sqrt"}),7),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "phenix experiment"}),9),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "number"}),9),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "gev"}),10),((NgramsTerm {unNgramsTerm = "eta"},NgramsTerm {unNgramsTerm = "s"}),7),((NgramsTerm {unNgramsTerm = "gev au"},NgramsTerm {unNgramsTerm = "not found"}),7),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "midrapidity"}),7),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "phenix experiment"}),3),((NgramsTerm {unNgramsTerm = "data"},NgramsTerm {unNgramsTerm = "s"}),5),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "lambda"}),5),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "s"}),22),((NgramsTerm {unNgramsTerm = "au-au collisions"},NgramsTerm {unNgramsTerm = "not found"}),8),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "phenix experiment"}),13),((NgramsTerm {unNgramsTerm = "gev au"},NgramsTerm {unNgramsTerm = "s"}),8),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "mid-rapidity"}),15),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "energy"}),8),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "ratio"}),3),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "particle"}),6),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "function"}),13),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "particle"}),4),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "pi ^"}),8),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "yields"}),5),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "pi ^"}),5),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "spectra"}),7),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "mid-rapidity"}),13),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "lambda"}),5),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "gev"}),14),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "centralities"}),5),((NgramsTerm {unNgramsTerm = "rhic"},NgramsTerm {unNgramsTerm = "yields"}),4),((NgramsTerm {unNgramsTerm = "number"},NgramsTerm {unNgramsTerm = "p collisions"}),3),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "sqrt"}),12),((NgramsTerm {unNgramsTerm = "mid-rapidity"},NgramsTerm {unNgramsTerm = "phi"}),3),((NgramsTerm {unNgramsTerm = "spectra"},NgramsTerm {unNgramsTerm = "sqrt"}),10),((NgramsTerm {unNgramsTerm = "pi ^"},NgramsTerm {unNgramsTerm = "suppression"}),3),((NgramsTerm {unNgramsTerm = "not found"},NgramsTerm {unNgramsTerm = "p collisions"}),6),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "sqrt"}),10),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "gev"}),9),((NgramsTerm {unNgramsTerm = "central collisions"},NgramsTerm {unNgramsTerm = "gev/c"}),4),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "number"}),3),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "spectra"}),9),((NgramsTerm {unNgramsTerm = "central au"},NgramsTerm {unNgramsTerm = "suppression"}),4),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "gev/c"}),18),((NgramsTerm {unNgramsTerm = "phi"},NgramsTerm {unNgramsTerm = "rhic"}),3),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "phenix experiment"}),9),((NgramsTerm {unNgramsTerm = "elliptic flow"},NgramsTerm {unNgramsTerm = "measurements"}),3),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "s"}),5),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "gev au"}),12),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "elliptic flow"}),10),((NgramsTerm {unNgramsTerm = "p"},NgramsTerm {unNgramsTerm = "suppression"}),5),((NgramsTerm {unNgramsTerm = "gev/c"},NgramsTerm {unNgramsTerm = "measurements"}),11),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "p collisions"}),11),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "eta"}),4),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "transverse momentum"}),14),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "hadrons"}),11),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "number"}),3),((NgramsTerm {unNgramsTerm = "energy"},NgramsTerm {unNgramsTerm = "s"}),7),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "data"}),6),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "relativistic heavy ion collider"}),7),((NgramsTerm {unNgramsTerm = "au collisions"},NgramsTerm {unNgramsTerm = "nn"}),67),((NgramsTerm {unNgramsTerm = "ratio"},NgramsTerm {unNgramsTerm = "rhic"}),4),((NgramsTerm {unNgramsTerm = "sqrt"},NgramsTerm {unNgramsTerm = "transverse momentum"}),13),((NgramsTerm {unNgramsTerm = "hadrons"},NgramsTerm {unNgramsTerm = "sqrt"}),11),((NgramsTerm {unNgramsTerm = "p collisions"},NgramsTerm {unNgramsTerm = "sqrt"}),16),((NgramsTerm {unNgramsTerm = "function"},NgramsTerm {unNgramsTerm = "p_t"}),6),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "p"}),10),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "p"}),14),((NgramsTerm {unNgramsTerm = "centralities"},NgramsTerm {unNgramsTerm = "rhic"}),6),((NgramsTerm {unNgramsTerm = "gev"},NgramsTerm {unNgramsTerm = "p collisions"}),15),((NgramsTerm {unNgramsTerm = "measurements"},NgramsTerm {unNgramsTerm = "rhic"}),15),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "transverse momentum"}),7),((NgramsTerm {unNgramsTerm = "au"},NgramsTerm {unNgramsTerm = "hadrons"}),8),((NgramsTerm {unNgramsTerm = "nn"},NgramsTerm {unNgramsTerm = "suppression"}),6)]
......@@ -35,7 +35,7 @@ test :: IO ()
test = hspec $ do
describe "Cross" $ do
let
(distanceMap,_,_) = doDistanceMap Conditional 0 Weak myCooc
(distanceMap,_,_) = doSimilarityMap Conditional 0 Weak myCooc
it "Partition test" $ do
partitions <- spinglass 1 distanceMap
let
......
......@@ -195,7 +195,36 @@ getCoocByNgrams' f (Diagonal diag) m =
listToCombi identity ks
]
where ks = HM.keys m
where
ks = HM.keys m
-- TODO k could be either k1 or k2 here
getCoocByNgrams'' :: (Hashable k, Ord k, Ord contexts)
=> Diagonal
-> (contextA -> Set contexts, contextB -> Set contexts)
-> (HashMap k contextA, HashMap k contextB)
-> HashMap (k, k) Int
getCoocByNgrams'' (Diagonal diag) (f1,f2) (m1,m2) =
HM.fromList [( (t1,t2)
, maybe 0 Set.size $ Set.intersection
<$> (fmap f1 $ HM.lookup t1 m1)
<*> (fmap f2 $ HM.lookup t2 m2)
)
| (t1,t2) <- if diag
then
[ (x,y) | x <- ks1, y <- ks2, x <= y]
-- TODO if we keep a Data.Map here it might be
-- more efficient to enumerate all the y <= x.
else
[ (x,y) | x <- ks1, y <- ks2, x < y]
-- TODO check optim
-- listToCombi identity ks1
]
where
ks1 = HM.keys m1
ks2 = HM.keys m2
------------------------------------------
......
......@@ -64,6 +64,8 @@ data UpdateNodeParams = UpdateNodeParamsList { methodList :: !Method }
| UpdateNodeParamsGraph { methodGraphMetric :: !GraphMetric
, methodGraphClustering :: !PartitionMethod
, methodGraphEdgesStrength :: !Strength
, methodGraphNodeType1 :: !NgramsType
, methodGraphNodeType2 :: !NgramsType
}
| UpdateNodeParamsTexts { methodTexts :: !Granularity }
......@@ -104,7 +106,7 @@ updateNode :: (HasSettings env, FlowCmdM env err m)
-> UpdateNodeParams
-> (JobLog -> m ())
-> m JobLog
updateNode uId nId (UpdateNodeParamsGraph metric method strength) logStatus = do
updateNode uId nId (UpdateNodeParamsGraph metric method strength nt1 nt2) logStatus = do
logStatus JobLog { _scst_succeeded = Just 1
, _scst_failed = Just 0
......@@ -112,7 +114,7 @@ updateNode uId nId (UpdateNodeParamsGraph metric method strength) logStatus = do
, _scst_events = Just []
}
printDebug "Computing graph: " method
_ <- recomputeGraph uId nId method (Just metric) (Just strength) True
_ <- recomputeGraph uId nId method (Just metric) (Just strength) nt1 nt2 True
printDebug "Graph computed: " method
pure JobLog { _scst_succeeded = Just 2
......@@ -273,7 +275,7 @@ instance ToSchema UpdateNodeParams
instance Arbitrary UpdateNodeParams where
arbitrary = do
l <- UpdateNodeParamsList <$> arbitrary
g <- UpdateNodeParamsGraph <$> arbitrary <*> arbitrary <*> arbitrary
g <- UpdateNodeParamsGraph <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary
t <- UpdateNodeParamsTexts <$> arbitrary
b <- UpdateNodeParamsBoard <$> arbitrary
elements [l,g,t,b]
......
......@@ -17,20 +17,20 @@ module Gargantext.Core.Viz.Graph
import Data.ByteString.Lazy as DBL (readFile, writeFile)
import Data.HashMap.Strict (HashMap, lookup)
import Data.HashSet (HashSet)
import Data.Text (pack)
import GHC.IO (FilePath)
import qualified Data.Aeson as DA
import qualified Data.Text as T
import qualified Text.Read as T
import Gargantext.API.Ngrams.Types (NgramsTerm(..), NgramsRepoElement(..), mSetToList)
import Gargantext.Core.Methods.Similarities (GraphMetric)
import Gargantext.Core.Types (ListId)
import Gargantext.Database.Admin.Types.Hyperdata.Prelude
import Gargantext.Database.Admin.Types.Node (NodeId)
import Gargantext.Database.Schema.Ngrams (NgramsType(..))
import Gargantext.Prelude
import qualified Data.Aeson as DA
import qualified Data.HashSet as HashSet
import qualified Data.Text as Text
import qualified Text.Read as Text
data TypeNode = Terms | Unknown
deriving (Show, Generic)
......@@ -84,7 +84,34 @@ instance ToSchema LegendField where
declareNamedSchema = genericDeclareNamedSchema (unPrefixSwagger "_lf_")
makeLenses ''LegendField
---------------------------------------------------------------
data Partite = Partite { _partite_nodes :: HashSet NgramsTerm
, _partite_type :: NgramsType
}
deriving (Show, Generic)
$(deriveJSON (unPrefix "_partite_") ''Partite)
instance ToSchema Partite where
declareNamedSchema = genericDeclareNamedSchema (unPrefixSwagger "_partite_")
makeLenses ''Partite
data MultiPartite = MultiPartite { _multipartite_data1 :: Partite
, _multipartite_data2 :: Partite
}
deriving (Show, Generic)
$(deriveJSON (unPrefix "_multipartite_") ''MultiPartite)
instance ToSchema MultiPartite where
declareNamedSchema = genericDeclareNamedSchema (unPrefixSwagger "_multipartite_")
makeLenses ''MultiPartite
defaultMultipartite :: MultiPartite
defaultMultipartite = MultiPartite a a
where
a = Partite HashSet.empty NgramsTerms
---------------------------------------------------------------
type Version = Int
data ListForGraph =
ListForGraph { _lfg_listId :: ListId
......@@ -117,6 +144,7 @@ data GraphMetadata =
, _gm_legend :: [LegendField] -- legend of the Graph
, _gm_list :: ListForGraph
, _gm_startForceAtlas :: Bool
-- , _gm_nodesTypes :: Maybe (NgramsType, NgramsType)
-- , _gm_version :: Int
}
deriving (Show, Generic)
......@@ -248,7 +276,7 @@ graphV3ToGraph (GraphV3 links nodes) = Graph { _graph_nodes = map nodeV32node no
linkV32edge n (EdgeV3 eo_s' eo_t' eo_w') =
Edge { edge_source = cs $ show eo_s'
, edge_target = cs $ show eo_t'
, edge_weight = (T.read $ T.unpack eo_w') :: Double
, edge_weight = (Text.read $ Text.unpack eo_w') :: Double
, edge_confluence = 0.5
, edge_id = cs $ show n }
......@@ -258,7 +286,7 @@ graphV3ToGraphWithFiles g1 g2 = do
-- GraphV3 <- IO Fichier
graph <- DBL.readFile g1
let newGraph = case DA.decode graph :: Maybe GraphV3 of
Nothing -> panic (T.pack "no graph")
Nothing -> panic (Text.pack "no graph")
Just new -> new
DBL.writeFile g2 (DA.encode $ graphV3ToGraph newGraph)
......
......@@ -107,7 +107,7 @@ getGraph _uId nId = do
let defaultMetric = Order1
let defaultPartitionMethod = Spinglass
let defaultEdgesStrength = Strong
graph' <- computeGraph cId defaultPartitionMethod (withMetric defaultMetric) defaultEdgesStrength NgramsTerms repo
graph' <- computeGraph cId defaultPartitionMethod (withMetric defaultMetric) defaultEdgesStrength (NgramsTerms, NgramsTerms) repo
mt <- defaultGraphMetadata cId "Title" repo defaultMetric defaultEdgesStrength
let
graph'' = set graph_metadata (Just mt) graph'
......@@ -127,9 +127,11 @@ recomputeGraph :: FlowCmdM env err m
-> PartitionMethod
-> Maybe GraphMetric
-> Maybe Strength
-> NgramsType
-> NgramsType
-> Bool
-> m Graph
recomputeGraph _uId nId method maybeSimilarity maybeStrength force = do
recomputeGraph _uId nId method maybeSimilarity maybeStrength nt1 nt2 force = do
nodeGraph <- getNodeWith nId (Proxy :: Proxy HyperdataGraph)
let
graph = nodeGraph ^. node_hyperdata . hyperdataGraph
......@@ -157,7 +159,7 @@ recomputeGraph _uId nId method maybeSimilarity maybeStrength force = do
let v = repo ^. unNodeStory . at listId . _Just . a_version
let computeG mt = do
!g <- computeGraph cId method similarity strength NgramsTerms repo
!g <- computeGraph cId method similarity strength (nt1,nt2) repo
let g' = set graph_metadata mt g
_nentries <- updateHyperdata nId (HyperdataGraph (Just g') camera)
pure g'
......@@ -174,31 +176,53 @@ recomputeGraph _uId nId method maybeSimilarity maybeStrength force = do
pure $ trace "[G.V.G.API] Graph exists, recomputing" g
-- TODO remove repo
computeGraph :: FlowCmdM env err m
=> CorpusId
-> PartitionMethod
-> Similarity
-> Strength
-> NgramsType
-> (NgramsType, NgramsType)
-> NodeListStory
-> m Graph
computeGraph corpusId method similarity strength nt repo = do
computeGraph corpusId method similarity strength (nt1,nt2) repo = do
-- Getting the Node parameters
lId <- defaultList corpusId
lIds <- selectNodesWithUsername NodeList userMaster
let ngs = filterListWithRoot [MapTerm]
$ mapTermListRoot [lId] nt repo
-- Getting the Ngrams to compute with and grouping it according to the lists
let
groupedContextsByNgrams nt corpusId' (lists_master, lists_user) = do
let
ngs = filterListWithRoot [MapTerm] $ mapTermListRoot lists_user nt repo
groupNodesByNgrams ngs <$> getContextsByNgramsOnlyUser corpusId'
(lists_user <> lists_master) nt (HashMap.keys ngs)
-- Optim if nt1 == nt2 : do not compute twice
(m1,m2) <- do
m1 <- groupedContextsByNgrams nt1 corpusId (lIds, [lId])
if nt1 == nt2
then
pure (m1,m1)
else do
m2 <- groupedContextsByNgrams nt2 corpusId (lIds, [lId])
pure (m1,m2)
-- Removing the hapax (ngrams with 1 cooc)
!myCooc <- HashMap.filter (>1)
<$> getCoocByNgrams (Diagonal True)
<$> groupNodesByNgrams ngs
<$> getContextsByNgramsOnlyUser corpusId (lIds <> [lId]) nt (HashMap.keys ngs)
let !myCooc = HashMap.filter (>1)
$ getCoocByNgrams'' (Diagonal True) (identity, identity) (m1,m2)
graph <- liftBase $ cooc2graphWith method similarity 0 strength myCooc
-- TODO MultiPartite Here
graph <- liftBase
$ cooc2graphWith method (MultiPartite (Partite (HashMap.keysSet m1) nt1)
(Partite (HashMap.keysSet m2) nt2)
)
similarity 0 strength myCooc
pure graph
defaultGraphMetadata :: HasNodeError err
=> CorpusId
-> Text
......@@ -240,6 +264,7 @@ graphAsync u n =
-- -> NodeId
-- -> (JobLog -> GargNoServer ())
-- -> GargNoServer JobLog
-- TODO get Graph Metadata to recompute
graphRecompute :: FlowCmdM env err m
=> UserId
-> NodeId
......@@ -251,7 +276,7 @@ graphRecompute u n logStatus = do
, _scst_remaining = Just 1
, _scst_events = Just []
}
_g <- recomputeGraph u n Spinglass Nothing Nothing False
_g <- recomputeGraph u n Spinglass Nothing Nothing NgramsTerms NgramsTerms False
pure JobLog { _scst_succeeded = Just 1
, _scst_failed = Just 0
, _scst_remaining = Just 0
......@@ -306,7 +331,7 @@ recomputeVersions :: FlowCmdM env err m
=> UserId
-> NodeId
-> m Graph
recomputeVersions uId nId = recomputeGraph uId nId Spinglass Nothing Nothing False
recomputeVersions uId nId = recomputeGraph uId nId Spinglass Nothing Nothing NgramsTerms NgramsTerms False
------------------------------------------------------------
graphClone :: UserId
......
......@@ -30,6 +30,7 @@ import Gargantext.Core.Viz.Graph.Bridgeness (bridgeness, Partitions, ToComId(..)
import Gargantext.Core.Viz.Graph.Index (createIndices, toIndex, map2mat, mat2map, Index, MatrixShape(..))
import Gargantext.Core.Viz.Graph.Tools.IGraph (mkGraphUfromEdges, spinglass)
import Gargantext.Core.Viz.Graph.Tools.Infomap (infomap)
import Gargantext.Database.Schema.Ngrams (NgramsType(..))
import Gargantext.Core.Viz.Graph.Utils (edgesFilter, nodesFilter)
import Gargantext.Prelude
import Graph.Types (ClusterNode)
......@@ -40,6 +41,7 @@ import qualified Data.HashMap.Strict as HashMap
import qualified Data.List as List
import qualified Data.Map as Map
import qualified Data.Set as Set
import qualified Data.HashSet as HashSet
import qualified Data.Text as Text
import qualified Data.Vector.Storable as Vec
import qualified Graph.BAC.ProxemyOptim as BAC
......@@ -87,6 +89,7 @@ cooc2graph' distance threshold myCooc
-- coocurrences graph computation
cooc2graphWith :: PartitionMethod
-> MultiPartite
-> Similarity
-> Threshold
-> Strength
......@@ -100,12 +103,13 @@ cooc2graphWith Infomap = cooc2graphWith' (infomap "--silent --two-level -N2")
cooc2graphWith' :: ToComId a
=> Partitions a
-> MultiPartite
-> Similarity
-> Threshold
-> Strength
-> HashMap (NgramsTerm, NgramsTerm) Int
-> IO Graph
cooc2graphWith' doPartitions similarity threshold strength myCooc = do
cooc2graphWith' doPartitions multi similarity threshold strength myCooc = do
let (distanceMap, diag, ti) = doSimilarityMap similarity threshold strength myCooc
distanceMap `seq` diag `seq` ti `seq` return ()
......@@ -130,7 +134,7 @@ cooc2graphWith' doPartitions similarity threshold strength myCooc = do
n' = Set.size $ Set.fromList $ as <> bs
!bridgeness' = bridgeness (fromIntegral nodesApprox) partitions distanceMap
!confluence' = BAC.computeConfluences 3 (Map.keys bridgeness') True
pure $ data2graph ti diag bridgeness' confluence' partitions
pure $ data2graph multi ti diag bridgeness' confluence' partitions
type Reverse = Bool
......@@ -187,14 +191,26 @@ doSimilarityMap Conditional threshold strength myCooc = (distanceMap, toIndex ti
type Occurrences = Int
multiPartiteWith :: MultiPartite -> NgramsTerm -> TypeNode
multiPartiteWith (MultiPartite (Partite s1 t1) (Partite _s2 t2)) t =
if HashSet.member t s1
then typeNode t1
else typeNode t2
typeNode :: NgramsType -> TypeNode
typeNode NgramsTerms = Terms
typeNode _ = Unknown
data2graph :: ToComId a
=> Map NgramsTerm Int
=> MultiPartite
-> Map NgramsTerm Int
-> Map (Int, Int) Occurrences
-> Map (Int, Int) Double
-> Map (Int, Int) Double
-> [a]
-> Graph
data2graph labels' occurences bridge conf partitions = Graph { _graph_nodes = nodes
data2graph multi labels' occurences bridge conf partitions = Graph { _graph_nodes = nodes
, _graph_edges = edges
, _graph_metadata = Nothing
}
......@@ -202,7 +218,7 @@ data2graph labels' occurences bridge conf partitions = Graph { _graph_nodes = no
nodes = map (setCoord ForceAtlas labels bridge)
[ (n, Node { node_size = maybe 0 identity (Map.lookup (n,n) occurences)
, node_type = Terms -- or Unknown
, node_type = multiPartiteWith multi l
, node_id = cs (show n)
, node_label = unNgramsTerm l
, node_x_coord = 0
......
......@@ -23,20 +23,21 @@ module Gargantext.Database.Schema.Ngrams
import Codec.Serialise (Serialise())
import Control.Lens (over)
import Control.Monad (mzero)
import Data.Maybe (fromMaybe)
import Data.HashMap.Strict (HashMap)
import Data.Hashable (Hashable)
import Data.Aeson
import Data.Aeson.Types (toJSONKeyText)
import Data.HashMap.Strict (HashMap)
import Data.Hashable (Hashable)
import Data.Map (fromList, lookup)
import Database.PostgreSQL.Simple.FromField (returnError, ResultError(..))
import Data.Maybe (fromMaybe)
import Data.Text (Text, splitOn, pack, strip)
import Database.PostgreSQL.Simple.FromField (returnError, ResultError(..))
import Gargantext.Core (HasDBid(..))
import Gargantext.Core.Types (TODO(..), Typed(..))
import Gargantext.Database.Schema.Prelude
import Gargantext.Database.Types
import Gargantext.Prelude
import Servant (FromHttpApiData(..), Proxy(..), ToHttpApiData(..))
import Gargantext.Core (HasDBid(..))
import Gargantext.Database.Types
import Gargantext.Database.Schema.Prelude
import Test.QuickCheck (elements)
import Text.Read (read)
import qualified Data.ByteString.Char8 as B
import qualified Data.HashMap.Strict as HashMap
......@@ -84,10 +85,19 @@ ngramsTable = Table "ngrams" (pNgramsDb NgramsDB { _ngrams_id = optionalTable
-- ngrams in text fields of documents has Terms Type (i.e. either title or abstract)
data NgramsType = Authors | Institutes | Sources | NgramsTerms
deriving (Eq, Show, Read, Ord, Enum, Bounded, Generic)
instance Serialise NgramsType
instance FromJSON NgramsType
where
parseJSON (String "Authors") = pure Authors
parseJSON (String "Institutes") = pure Institutes
parseJSON (String "Sources") = pure Sources
parseJSON (String "Terms") = pure NgramsTerms
parseJSON _ = mzero
instance FromJSONKey NgramsType where
fromJSONKey = FromJSONKeyTextParser (parseJSON . String)
instance ToJSON NgramsType
instance ToJSONKey NgramsType where
toJSONKey = toJSONKeyText (pack . show)
......@@ -97,6 +107,9 @@ instance ToHttpApiData NgramsType where
toUrlPiece = pack . show
instance ToParamSchema NgramsType where
toParamSchema _ = toParamSchema (Proxy :: Proxy TODO)
instance Arbitrary NgramsType where
arbitrary = elements [ minBound .. maxBound ]
-- map NgramsType to its assigned id
instance FromField NgramsType where
fromField fld mdata =
......
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