Commit 69fa22f7 authored by Alfredo Di Napoli's avatar Alfredo Di Napoli

Add Phylo golden tests

parent e1418b58
...@@ -26,6 +26,8 @@ data-files: ...@@ -26,6 +26,8 @@ data-files:
ekg-assets/chart_line_add.png ekg-assets/chart_line_add.png
ekg-assets/cross.png ekg-assets/cross.png
test-data/ngrams/GarganText_NgramsTerms-QuantumComputing.json test-data/ngrams/GarganText_NgramsTerms-QuantumComputing.json
test-data/phylo/bpa_phylo_test.json
test-data/phylo/open_science.json
library library
exposed-modules: exposed-modules:
......
...@@ -45,6 +45,8 @@ data-files: ...@@ -45,6 +45,8 @@ data-files:
- ekg-assets/chart_line_add.png - ekg-assets/chart_line_add.png
- ekg-assets/cross.png - ekg-assets/cross.png
- test-data/ngrams/GarganText_NgramsTerms-QuantumComputing.json - test-data/ngrams/GarganText_NgramsTerms-QuantumComputing.json
- test-data/phylo/bpa_phylo_test.json
- test-data/phylo/open_science.json
library: library:
source-dirs: src source-dirs: src
ghc-options: ghc-options:
......
...@@ -16,8 +16,11 @@ import Test.Tasty ...@@ -16,8 +16,11 @@ import Test.Tasty
import Test.Tasty.HUnit import Test.Tasty.HUnit
import Test.Tasty.QuickCheck import Test.Tasty.QuickCheck
import Text.RawString.QQ import Text.RawString.QQ
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy.Char8 as C8 import qualified Data.ByteString.Lazy.Char8 as C8
import Paths_gargantext
jsonRoundtrip :: (Show a, FromJSON a, ToJSON a, Eq a) => a -> Property jsonRoundtrip :: (Show a, FromJSON a, ToJSON a, Eq a) => a -> Property
jsonRoundtrip a = jsonRoundtrip a =
counterexample ("Parsed JSON: " <> C8.unpack (encode a)) $ eitherDecode (encode a) === Right a counterexample ("Parsed JSON: " <> C8.unpack (encode a)) $ eitherDecode (encode a) === Right a
...@@ -33,6 +36,9 @@ tests = testGroup "JSON" [ ...@@ -33,6 +36,9 @@ tests = testGroup "JSON" [
, testProperty "GraphDataData" (jsonRoundtrip @GraphDataData) , testProperty "GraphDataData" (jsonRoundtrip @GraphDataData)
, testProperty "ObjectData" (jsonRoundtrip @ObjectData) , testProperty "ObjectData" (jsonRoundtrip @ObjectData)
, testProperty "PhyloData" (jsonRoundtrip @PhyloData) , testProperty "PhyloData" (jsonRoundtrip @PhyloData)
, testProperty "LayerData" (jsonRoundtrip @LayerData)
, testCase "can parse bpa_phylo_test.json" testParseBpaPhylo
, testCase "can parse open_science.json" testOpenSciencePhylo
] ]
] ]
...@@ -46,3 +52,19 @@ testWithQueryFrontend = do ...@@ -46,3 +52,19 @@ testWithQueryFrontend = do
-- instances, this test would fail, and we will be notified. -- instances, this test would fail, and we will be notified.
cannedWithQueryPayload :: String cannedWithQueryPayload :: String
cannedWithQueryPayload = [r| {"query":"Haskell","node_id":138,"lang":"EN","flowListWith":{"type":"MyListsFirst"},"datafield":"External Arxiv","databases":"Arxiv"} |] cannedWithQueryPayload = [r| {"query":"Haskell","node_id":138,"lang":"EN","flowListWith":{"type":"MyListsFirst"},"datafield":"External Arxiv","databases":"Arxiv"} |]
testParseBpaPhylo :: Assertion
testParseBpaPhylo = do
pth <- getDataFileName "test-data/phylo/bpa_phylo_test.json"
jsonBlob <- B.readFile pth
case eitherDecodeStrict' @GraphData jsonBlob of
Left err -> error err
Right _ -> pure ()
testOpenSciencePhylo :: Assertion
testOpenSciencePhylo = do
pth <- getDataFileName "test-data/phylo/open_science.json"
jsonBlob <- B.readFile pth
case eitherDecodeStrict' @PhyloData jsonBlob of
Left err -> error err
Right _ -> pure ()
...@@ -33,6 +33,7 @@ import Control.Applicative ((<|>)) ...@@ -33,6 +33,7 @@ import Control.Applicative ((<|>))
import Data.Aeson import Data.Aeson
import Data.Aeson.Types import Data.Aeson.Types
import Data.Aeson.TH (deriveJSON) import Data.Aeson.TH (deriveJSON)
import Data.Maybe
import Data.Monoid import Data.Monoid
import Data.Swagger import Data.Swagger
import Data.Text (Text) import Data.Text (Text)
...@@ -395,7 +396,7 @@ instance ToJSON LayerData where ...@@ -395,7 +396,7 @@ instance ToJSON LayerData where
instance FromJSON LayerData where instance FromJSON LayerData where
parseJSON = withObject "LayerData" $ \o -> do parseJSON = withObject "LayerData" $ \o -> do
_ld_nodes <- o .: "nodes" _ld_nodes <- fromMaybe mempty <$> (o .:? "nodes")
pure $ LayerData{..} pure $ LayerData{..}
data NodeCommonData = data NodeCommonData =
...@@ -447,6 +448,7 @@ data EdgeData ...@@ -447,6 +448,7 @@ data EdgeData
= GroupToAncestor !GvId !EdgeCommonData !GroupToAncestorData = GroupToAncestor !GvId !EdgeCommonData !GroupToAncestorData
| GroupToGroup !GvId !EdgeCommonData !GroupToGroupData | GroupToGroup !GvId !EdgeCommonData !GroupToGroupData
| BranchToGroup !GvId !EdgeCommonData !BranchToGroupData | BranchToGroup !GvId !EdgeCommonData !BranchToGroupData
| PeriodToPeriod !GvId !EdgeCommonData
deriving (Show, Eq, Generic) deriving (Show, Eq, Generic)
data GroupToAncestorData data GroupToAncestorData
...@@ -516,13 +518,15 @@ instance FromJSON GvId where ...@@ -516,13 +518,15 @@ instance FromJSON GvId where
instance ToJSON EdgeData where instance ToJSON EdgeData where
toJSON = \case toJSON = \case
GroupToAncestor gvid commonData edgeTypeData GroupToAncestor gvid commonData edgeTypeData
-> mkEdge "ancestorLink" gvid commonData edgeTypeData -> mkEdge (Just "ancestorLink") gvid commonData edgeTypeData
GroupToGroup gvid commonData edgeTypeData GroupToGroup gvid commonData edgeTypeData
-> mkEdge "link" gvid commonData edgeTypeData -> mkEdge (Just "link") gvid commonData edgeTypeData
BranchToGroup gvid commonData edgeTypeData BranchToGroup gvid commonData edgeTypeData
-> mkEdge "branchLink" gvid commonData edgeTypeData -> mkEdge (Just "branchLink") gvid commonData edgeTypeData
PeriodToPeriod gvid commonData
-> mkEdge Nothing gvid commonData (Object mempty)
mkEdge :: ToJSON a => Text -> GvId -> EdgeCommonData -> a -> Value mkEdge :: ToJSON a => Maybe Text -> GvId -> EdgeCommonData -> a -> Value
mkEdge edgeType gvid commonData edgeTypeData = mkEdge edgeType gvid commonData edgeTypeData =
let commonDataJSON = toJSON commonData let commonDataJSON = toJSON commonData
edgeTypeDataJSON = toJSON edgeTypeData edgeTypeDataJSON = toJSON edgeTypeData
...@@ -537,18 +541,19 @@ mkEdge edgeType gvid commonData edgeTypeData = ...@@ -537,18 +541,19 @@ mkEdge edgeType gvid commonData edgeTypeData =
instance FromJSON EdgeData where instance FromJSON EdgeData where
parseJSON = withObject "EdgeData" $ \o -> do parseJSON = withObject "EdgeData" $ \o -> do
edgeType <- o .: "edgeType" edgeType <- o .:? "edgeType"
gvid <- o .: "_gvid" gvid <- o .: "_gvid"
_ed_color <- o .: "color" _ed_color <- o .: "color"
_ed_head <- o .: "head" _ed_head <- o .: "head"
_ed_pos <- o .: "pos" _ed_pos <- o .: "pos"
_ed_tail <- o .: "tail" _ed_tail <- o .: "tail"
_ed_width <- o .: "width" _ed_width <- o .: "width"
case (edgeType :: Text) of case (edgeType :: Maybe Text) of
"ancestorLink" -> GroupToAncestor <$> pure gvid <*> pure EdgeCommonData{..} <*> parseJSON (Object o) Just "ancestorLink" -> GroupToAncestor <$> pure gvid <*> pure EdgeCommonData{..} <*> parseJSON (Object o)
"link" -> GroupToGroup <$> pure gvid <*> pure EdgeCommonData{..} <*> parseJSON (Object o) Just "link" -> GroupToGroup <$> pure gvid <*> pure EdgeCommonData{..} <*> parseJSON (Object o)
"branchLink" -> BranchToGroup <$> pure gvid <*> pure EdgeCommonData{..} <*> parseJSON (Object o) Just "branchLink" -> BranchToGroup <$> pure gvid <*> pure EdgeCommonData{..} <*> parseJSON (Object o)
_ -> fail $ "EdgeData: unrecognised edgeType for Phylo graph: " <> T.unpack edgeType Just unknownEdgeType -> fail $ "EdgeData: unrecognised edgeType for Phylo graph: " <> T.unpack unknownEdgeType
Nothing -> pure $ PeriodToPeriod gvid EdgeCommonData{..}
instance ToJSON EdgeCommonData where instance ToJSON EdgeCommonData where
toJSON EdgeCommonData{..} = object toJSON EdgeCommonData{..} = object
......
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"pd_data": {
"phyloSources": "[]",
"directed": true,
"phyloTimeScale": "year",
"color": "white",
"strict": false,
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"objects": [
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Branches peaks",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 0,
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20002002",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 1,
"nodes": [
23
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20012003",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 2,
"nodes": [
24
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20022004",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 3,
"nodes": [
25
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20032005",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 4,
"nodes": [
26
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20042006",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 5,
"nodes": [
27
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20052007",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 6,
"nodes": [
28
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20062008",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 7,
"nodes": [
29
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20072009",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 8,
"nodes": [
30
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20082010",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 9,
"nodes": [
31
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20092011",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 10,
"nodes": [
32
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20102012",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 11,
"nodes": [
33
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20112013",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 12,
"nodes": [
34
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20122014",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 13,
"nodes": [
35
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20132015",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 14,
"nodes": [
36
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20142016",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 15,
"nodes": [
37
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20152017",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 16,
"nodes": [
38
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20162018",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 17,
"nodes": [
39
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20172019",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 18,
"nodes": [
40
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20182020",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 19,
"nodes": [
41
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20192021",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 20,
"nodes": [
42
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20202022",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 21,
"nodes": [
43
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"phyloSources": "[]",
"phyloTimeScale": "year",
"color": "white",
"lheight": "0.46",
"fontsize": "30",
"phyloGroups": "0",
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Period20212023",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"_gvid": 22,
"nodes": [
44
],
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2002-01-01\"",
"pos": "142,2866.5",
"name": "period20002002",
"nodeType": "period",
"_gvid": 23,
"label": "2000 2002",
"to": "2002",
"strFrom": "\"2000-01-01\"",
"from": "2000",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2003-01-01\"",
"pos": "142,2731.5",
"name": "period20012003",
"nodeType": "period",
"_gvid": 24,
"label": "2001 2003",
"to": "2003",
"strFrom": "\"2003-01-01\"",
"from": "2001",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2004-01-01\"",
"pos": "142,2596.5",
"name": "period20022004",
"nodeType": "period",
"_gvid": 25,
"label": "2002 2004",
"to": "2004",
"strFrom": "\"2004-01-01\"",
"from": "2002",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2005-01-01\"",
"pos": "142,2461.5",
"name": "period20032005",
"nodeType": "period",
"_gvid": 26,
"label": "2003 2005",
"to": "2005",
"strFrom": "\"2005-01-01\"",
"from": "2003",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2006-01-01\"",
"pos": "142,2326.5",
"name": "period20042006",
"nodeType": "period",
"_gvid": 27,
"label": "2004 2006",
"to": "2006",
"strFrom": "\"2006-01-01\"",
"from": "2004",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"\"",
"pos": "142,2191.5",
"name": "period20052007",
"nodeType": "period",
"_gvid": 28,
"label": "2005 2007",
"to": "2007",
"strFrom": "\"\"",
"from": "2005",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2008-01-01\"",
"pos": "142,2056.5",
"name": "period20062008",
"nodeType": "period",
"_gvid": 29,
"label": "2006 2008",
"to": "2008",
"strFrom": "\"2008-01-01\"",
"from": "2006",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2009-01-01\"",
"pos": "142,1921.5",
"name": "period20072009",
"nodeType": "period",
"_gvid": 30,
"label": "2007 2009",
"to": "2009",
"strFrom": "\"2009-01-01\"",
"from": "2007",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2010-01-01\"",
"pos": "142,1786.5",
"name": "period20082010",
"nodeType": "period",
"_gvid": 31,
"label": "2008 2010",
"to": "2010",
"strFrom": "\"2010-01-01\"",
"from": "2008",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2011-01-01\"",
"pos": "142,1651.5",
"name": "period20092011",
"nodeType": "period",
"_gvid": 32,
"label": "2009 2011",
"to": "2011",
"strFrom": "\"2011-01-01\"",
"from": "2009",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2012-01-01\"",
"pos": "142,1516.5",
"name": "period20102012",
"nodeType": "period",
"_gvid": 33,
"label": "2010 2012",
"to": "2012",
"strFrom": "\"2012-01-01\"",
"from": "2010",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2013-01-01\"",
"pos": "142,1381.5",
"name": "period20112013",
"nodeType": "period",
"_gvid": 34,
"label": "2011 2013",
"to": "2013",
"strFrom": "\"2013-01-01\"",
"from": "2011",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2014-01-01\"",
"pos": "142,1246.5",
"name": "period20122014",
"nodeType": "period",
"_gvid": 35,
"label": "2012 2014",
"to": "2014",
"strFrom": "\"2014-01-01\"",
"from": "2012",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2015-01-01\"",
"pos": "142,1111.5",
"name": "period20132015",
"nodeType": "period",
"_gvid": 36,
"label": "2013 2015",
"to": "2015",
"strFrom": "\"2015-01-01\"",
"from": "2013",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2016-01-01\"",
"pos": "142,976.5",
"name": "period20142016",
"nodeType": "period",
"_gvid": 37,
"label": "2014 2016",
"to": "2016",
"strFrom": "\"2016-01-01\"",
"from": "2014",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2017-01-01\"",
"pos": "142,841.5",
"name": "period20152017",
"nodeType": "period",
"_gvid": 38,
"label": "2015 2017",
"to": "2017",
"strFrom": "\"2017-01-01\"",
"from": "2015",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2018-01-01\"",
"pos": "142,706.5",
"name": "period20162018",
"nodeType": "period",
"_gvid": 39,
"label": "2016 2018",
"to": "2018",
"strFrom": "\"2018-01-01\"",
"from": "2016",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2019-01-01\"",
"pos": "142,571.5",
"name": "period20172019",
"nodeType": "period",
"_gvid": 40,
"label": "2017 2019",
"to": "2019",
"strFrom": "\"2019-01-01\"",
"from": "2017",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2020-01-01\"",
"pos": "142,436.5",
"name": "period20182020",
"nodeType": "period",
"_gvid": 41,
"label": "2018 2020",
"to": "2020",
"strFrom": "\"2020-01-01\"",
"from": "2018",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2021-01-01\"",
"pos": "142,301.5",
"name": "period20192021",
"nodeType": "period",
"_gvid": 42,
"label": "2019 2021",
"to": "2021",
"strFrom": "\"2021-01-01\"",
"from": "2019",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2022-01-01\"",
"pos": "142,166.5",
"name": "period20202022",
"nodeType": "period",
"_gvid": 43,
"label": "2020 2022",
"to": "2022",
"strFrom": "\"2022-01-01\"",
"from": "2020",
"width": "3.9444",
"shape": "box"
},
{
"height": "0.875",
"fontsize": "50",
"strTo": "\"2023-01-01\"",
"pos": "142,31.5",
"name": "period20212023",
"nodeType": "period",
"_gvid": 44,
"label": "2021 2023",
"to": "2023",
"strFrom": "\"2023-01-01\"",
"from": "2021",
"width": "3.9444",
"shape": "box"
}
],
"labelloc": "t",
"ratio": "fill",
"phyloTerms": "0",
"name": "Phylo Name",
"lwidth": "2.51",
"PhyloScale": "0.2",
"phyloFoundations": "346",
"label": "Phylo Name",
"rank": "same",
"lp": "142,2918.5",
"style": "filled",
"phyloQuality": "0.2253686608796909",
"bb": "0,0,284,2939",
"overlap": "scale",
"splines": "spline",
"nodesep": "1",
"_subgraph_cnt": 23,
"phyloDocs": "313.0",
"phyloPeriods": "22",
"ranksep": "1",
"phyloBranches": "0",
"edges": [
{
"color": "black",
"head": 24,
"pos": "e,142,2763.3 142,2835 142,2816.7 142,2793.2 142,2773.3",
"tail": 23,
"_gvid": 0,
"width": "5"
},
{
"color": "black",
"head": 25,
"pos": "e,142,2628.3 142,2700 142,2681.7 142,2658.2 142,2638.3",
"tail": 24,
"_gvid": 1,
"width": "5"
},
{
"color": "black",
"head": 26,
"pos": "e,142,2493.3 142,2565 142,2546.7 142,2523.2 142,2503.3",
"tail": 25,
"_gvid": 2,
"width": "5"
},
{
"color": "black",
"head": 27,
"pos": "e,142,2358.3 142,2430 142,2411.7 142,2388.2 142,2368.3",
"tail": 26,
"_gvid": 3,
"width": "5"
},
{
"color": "black",
"head": 28,
"pos": "e,142,2223.3 142,2295 142,2276.7 142,2253.2 142,2233.3",
"tail": 27,
"_gvid": 4,
"width": "5"
},
{
"color": "black",
"head": 29,
"pos": "e,142,2088.3 142,2160 142,2141.7 142,2118.2 142,2098.3",
"tail": 28,
"_gvid": 5,
"width": "5"
},
{
"color": "black",
"head": 30,
"pos": "e,142,1953.3 142,2025 142,2006.7 142,1983.2 142,1963.3",
"tail": 29,
"_gvid": 6,
"width": "5"
},
{
"color": "black",
"head": 31,
"pos": "e,142,1818.3 142,1890 142,1871.7 142,1848.2 142,1828.3",
"tail": 30,
"_gvid": 7,
"width": "5"
},
{
"color": "black",
"head": 32,
"pos": "e,142,1683.3 142,1755 142,1736.7 142,1713.2 142,1693.3",
"tail": 31,
"_gvid": 8,
"width": "5"
},
{
"color": "black",
"head": 33,
"pos": "e,142,1548.3 142,1620 142,1601.7 142,1578.2 142,1558.3",
"tail": 32,
"_gvid": 9,
"width": "5"
},
{
"color": "black",
"head": 34,
"pos": "e,142,1413.3 142,1485 142,1466.7 142,1443.2 142,1423.3",
"tail": 33,
"_gvid": 10,
"width": "5"
},
{
"color": "black",
"head": 35,
"pos": "e,142,1278.3 142,1350 142,1331.7 142,1308.2 142,1288.3",
"tail": 34,
"_gvid": 11,
"width": "5"
},
{
"color": "black",
"head": 36,
"pos": "e,142,1143.3 142,1215 142,1196.7 142,1173.2 142,1153.3",
"tail": 35,
"_gvid": 12,
"width": "5"
},
{
"color": "black",
"head": 37,
"pos": "e,142,1008.3 142,1080 142,1061.7 142,1038.2 142,1018.3",
"tail": 36,
"_gvid": 13,
"width": "5"
},
{
"color": "black",
"head": 38,
"pos": "e,142,873.33 142,944.99 142,926.7 142,903.22 142,883.35",
"tail": 37,
"_gvid": 14,
"width": "5"
},
{
"color": "black",
"head": 39,
"pos": "e,142,738.33 142,809.99 142,791.7 142,768.22 142,748.35",
"tail": 38,
"_gvid": 15,
"width": "5"
},
{
"color": "black",
"head": 40,
"pos": "e,142,603.33 142,674.99 142,656.7 142,633.22 142,613.35",
"tail": 39,
"_gvid": 16,
"width": "5"
},
{
"color": "black",
"head": 41,
"pos": "e,142,468.33 142,539.99 142,521.7 142,498.22 142,478.35",
"tail": 40,
"_gvid": 17,
"width": "5"
},
{
"color": "black",
"head": 42,
"pos": "e,142,333.33 142,404.99 142,386.7 142,363.22 142,343.35",
"tail": 41,
"_gvid": 18,
"width": "5"
},
{
"color": "black",
"head": 43,
"pos": "e,142,198.33 142,269.99 142,251.7 142,228.22 142,208.35",
"tail": 42,
"_gvid": 19,
"width": "5"
},
{
"color": "black",
"head": 44,
"pos": "e,142,63.331 142,134.99 142,116.7 142,93.22 142,73.348",
"tail": 43,
"_gvid": 20,
"width": "5"
}
],
"phyloSeaRiseStart": "0.1",
"phyloSeaRiseSteps": "0.1"
},
"pd_listId": 185785,
"pd_corpusId": 185783
}
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