Copyright | (c) CNRS 2017-Present |
---|---|
License | AGPL + CECILL v3 |
Maintainer | team@gargantext.org |
Stability | experimental |
Portability | POSIX |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Specifications of Phylomemy format.
Phylomemy can be described as a Temporal Graph with different scale of granularity of group of ngrams (terms and multi-terms).
The main type is Phylo which is synonym of Phylomemy (only difference is the number of chars).
Phylomemy was first described in Chavalarias, D., Cointet, J.-P., 2013. Phylomemetic patterns in science evolution—the rise and fall of scientific fields. PloS one 8, e54847. .
Synopsis
- data Phylo = Phylo {
- _phylo_Duration :: (Start, End)
- _phylo_Ngrams :: [Ngram]
- _phylo_Periods :: [PhyloPeriod]
- type Start = POSIXTime
- type End = POSIXTime
- type Ngram = (NgramId, Text)
- type NgramId = Int
- data PhyloPeriod = PhyloPeriod {}
- type PhyloPeriodId = (Start, End)
- data PhyloLevel = PhyloLevel {}
- type PhyloLevelId = (PhyloPeriodId, Int)
- data PhyloGroup = PhyloGroup {}
- type PhyloGroupId = (PhyloLevelId, Int)
- type Edge = (PhyloGroupId, Weight)
- type Weight = Double
- data GraphData = GraphData {
- _gd__subgraph_cnt :: Int
- _gd_directed :: Bool
- _gd_edges :: [EdgeData]
- _gd_objects :: [ObjectData]
- _gd_strict :: Bool
- _gd_data :: GraphDataData
- data GraphDataData = GraphDataData {
- _gdd_bb :: Text
- _gdd_color :: Text
- _gdd_fontsize :: Text
- _gdd_label :: Text
- _gdd_labelloc :: Text
- _gdd_lheight :: Text
- _gdd_lp :: Text
- _gdd_lwidth :: Text
- _gdd_name :: Text
- _gdd_nodesep :: Text
- _gdd_overlap :: Text
- _gdd_phyloBranches :: Text
- _gdd_phyloDocs :: Text
- _gdd_phyloFoundations :: Text
- _gdd_phyloGroups :: Text
- _gdd_phyloPeriods :: Text
- _gdd_phyloSources :: Text
- _gdd_phyloTerms :: Text
- _gdd_phyloTimeScale :: Text
- _gdd_rank :: Text
- _gdd_ranksep :: Text
- _gdd_ratio :: Text
- _gdd_splines :: Text
- _gdd_style :: Text
- data ObjectData
- data GroupToNodeData = GroupToNodeData {
- _gtn_bId :: Text
- _gtn_branchId :: Text
- _gtn_fontname :: Text
- _gtn_foundation :: Text
- _gtn_frequence :: Text
- _gtn_from :: Text
- _gtn_lbl :: Text
- _gtn_penwidth :: Text
- _gtn_role :: Text
- _gtn_seaLvl :: Maybe Text
- _gtn_source :: Text
- _gtn_strFrom :: Maybe Text
- _gtn_strTo :: Maybe Text
- _gtn_support :: Text
- _gtn_to :: Text
- _gtn_weight :: Text
- data BranchToNodeData = BranchToNodeData {
- _btn_age :: Text
- _btn_bId :: Text
- _btn_birth :: Text
- _btn_branchId :: Text
- _btn_branch_x :: Text
- _btn_branch_y :: Text
- _btn_fillcolor :: Text
- _btn_fontname :: Text
- _btn_fontsize :: Text
- _btn_size :: Text
- _btn_style :: Text
- data PeriodToNodeData = PeriodToNodeData {
- _ptn_fontsize :: Text
- _ptn_from :: Text
- _ptn_strFrom :: Maybe Text
- _ptn_strTo :: Maybe Text
- _ptn_to :: Text
- data LayerData = LayerData {}
- data NodeCommonData = NodeCommonData {}
- data EdgeCommonData = EdgeCommonData {}
- newtype GvId = GvId {}
- data EdgeData
- data GroupToAncestorData = GroupToAncestorData {
- _gta_arrowhead :: !Text
- _gta_lbl :: !Text
- _gta_penwidth :: !Text
- _gta_style :: !Text
- data GroupToGroupData = GroupToGroupData {
- _gtg_constraint :: !Text
- _gtg_lbl :: !Text
- _gtg_penwidth :: !Text
- data BranchToGroupData = BranchToGroupData {
- _btg_arrowhead :: !Text
- _btg_style :: Maybe Text
- mkObject :: ToJSON a => GvId -> Either NodeCommonData GraphDataData -> a -> Value
- mkGraphData :: GraphData -> Value
- mkEdge :: ToJSON a => Maybe Text -> GvId -> EdgeCommonData -> a -> Value
- phylo_Periods :: Lens' Phylo [PhyloPeriod]
- phylo_Ngrams :: Lens' Phylo [Ngram]
- phylo_Duration :: Lens' Phylo (Start, End)
- phylo_PeriodLevels :: Lens' PhyloPeriod [PhyloLevel]
- phylo_PeriodId :: Lens' PhyloPeriod PhyloPeriodId
- phylo_LevelId :: Lens' PhyloLevel PhyloLevelId
- phylo_LevelGroups :: Lens' PhyloLevel [PhyloGroup]
- phylo_GroupPeriodParents :: Lens' PhyloGroup [Edge]
- phylo_GroupPeriodChilds :: Lens' PhyloGroup [Edge]
- phylo_GroupNgrams :: Lens' PhyloGroup [NgramId]
- phylo_GroupLevelParents :: Lens' PhyloGroup [Edge]
- phylo_GroupLevelChilds :: Lens' PhyloGroup [Edge]
- phylo_GroupLabel :: Lens' PhyloGroup (Maybe Text)
- phylo_GroupId :: Lens' PhyloGroup PhyloGroupId
Documentation
Phylo datatype descriptor of a phylomemy Duration : time Segment of the whole phylomemy in UTCTime format (start,end) Ngrams : list of all (possible) terms contained in the phylomemy (with their id) Steps : list of all steps to build the phylomemy
Phylo | |
|
Instances
FromJSON Phylo # | |
ToJSON Phylo # | |
Defined in Gargantext.Core.Types.Phylo | |
Generic Phylo # | |
NFData Phylo # | |
Defined in Gargantext.Core.Types.Phylo | |
ToSchema Phylo # | ToSchema instances |
Defined in Gargantext.Core.Types.Phylo | |
type Rep Phylo # | |
Defined in Gargantext.Core.Types.Phylo type Rep Phylo = D1 ('MetaData "Phylo" "Gargantext.Core.Types.Phylo" "gargantext-0.0.7.1.5.3-inplace" 'False) (C1 ('MetaCons "Phylo" 'PrefixI 'True) (S1 ('MetaSel ('Just "_phylo_Duration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Start, End)) :*: (S1 ('MetaSel ('Just "_phylo_Ngrams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Ngram]) :*: S1 ('MetaSel ('Just "_phylo_Periods") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [PhyloPeriod])))) |
data PhyloPeriod #
PhyloStep : steps of phylomemy on temporal axis Period: tuple (start date, end date) of the step of the phylomemy Levels: levels of granularity
Instances
type PhyloPeriodId = (Start, End) #
data PhyloLevel #
PhyloLevel : levels of phylomemy on level axis Levels description: Level -1: Ngram equals itself (by identity) == _phylo_Ngrams Level 0: Group of synonyms (by stems + by qualitative expert meaning) Level 1: First level of clustering Level N: Nth level of clustering
Instances
type PhyloLevelId = (PhyloPeriodId, Int) #
data PhyloGroup #
PhyloGroup : group of ngrams at each level and step Label : maybe has a label as text Ngrams: set of terms that build the group Period Parents|Childs: weighted link to Parents|Childs (Temporal Period axis) Level Parents|Childs: weighted link to Parents|Childs (Level Granularity axis)
Instances
type PhyloGroupId = (PhyloLevelId, Int) #
type Edge = (PhyloGroupId, Weight) #
Phylo GraphData
datatype descriptor. It must be isomorphic to
the GraphData
type of the purecript frontend.
GraphData | |
|
Instances
data GraphDataData #
GraphDataData | |
|
Instances
data ObjectData #
GroupToNode !GvId !NodeCommonData !GroupToNodeData | |
BranchToNode !GvId !NodeCommonData !BranchToNodeData | |
PeriodToNode !GvId !NodeCommonData !PeriodToNodeData | |
Layer !GvId !GraphDataData !LayerData |
Instances
data GroupToNodeData #
GroupToNodeData | |
|
Instances
data BranchToNodeData #
BranchToNodeData | |
|
Instances
data PeriodToNodeData #
PeriodToNodeData | |
|
Instances
data NodeCommonData #
Instances
data EdgeCommonData #
Instances
Instances
Instances
data GroupToAncestorData #
GroupToAncestorData | |
|
Instances
data GroupToGroupData #
GroupToGroupData | |
|
Instances
data BranchToGroupData #
Instances
mkObject :: ToJSON a => GvId -> Either NodeCommonData GraphDataData -> a -> Value #
mkGraphData :: GraphData -> Value #
phylo_Periods :: Lens' Phylo [PhyloPeriod] #
phylo_Ngrams :: Lens' Phylo [Ngram] #