-
Started:
April 14, 2024 12:47
-
Completed:
13:07:37
-
Failed:
No.
-
Status:
completed
Events (most recent first):
-
13:08:13
(infos)
Connecting to https://content.eol.org/ ...
-
13:08:13
(infos)
Connecting to https://content.eol.org/ ...
-
13:08:13
(infos)
polling for trait diff metadata: /resources/348/publish_diffs.json
-
13:07:37
(ends)
Complete
-
13:07:37
(ends)
TOTAL TIME: 20.1m
-
13:02:46
(warns)
FAILED on build_nodes query (Trait), will re-try 3 times after 5 minute pause (the site may be too busy to serve the CSV to Neo4j)...
-
13:02:46
(warns)
Invalid input '{': expected "+" or "-" (line 1, column 131 (offset: 130))
"USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (trait:Trait { eol_pk: row.eol_pk })"
^
-
13:02:46
(warns)
Exception (Neo4j::Driver::Exceptions::ClientException) QUERY: {USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (trait:Trait { eol_pk: row.eol_pk })
ON CREATE SET trait.resource_pk = row.resource_pk
ON MATCH SET trait.resource_pk = row.resource_pk
ON CREATE SET trait.source = row.source
ON MATCH SET trait.source = row.source
ON CREATE SET trait.literal = row.literal
ON MATCH SET trait.literal = row.literal
ON CREATE SET trait.measurement = row.measurement
ON MATCH SET trait.measurement = row.measurement
ON CREATE SET trait.scientific_name = row.scientific_name
ON MATCH SET trait.scientific_name = row.scientific_name
ON CREATE SET trait.normal_measurement = row.normal_measurement
ON MATCH SET trait.normal_measurement = row.normal_measurement
ON CREATE SET trait.sample_size = row.sample_size
ON MATCH SET trait.sample_size = row.sample_size
ON CREATE SET trait.citation = row.citation
ON MATCH SET trait.citation = row.citation
ON CREATE SET trait.remarks = row.remarks
ON MATCH SET trait.remarks = row.remarks
ON CREATE SET trait.method = row.method
ON MATCH SET trait.method = row.method} MESSAGE: Invalid input '{': expected "+" or "-" (line 1, column 131 (offset: 130))
"USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (trait:Trait { eol_pk: row.eol_pk })"
^
-
13:02:46
(warns)
Exception (Neo4j::Driver::Exceptions::ClientException) QUERY: {USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (page:Page { page_id: toInteger(row.page_id) })} MESSAGE: Invalid input '{': expected "+" or "-" (line 1, column 131 (offset: 130))
"USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (page:Page { page_id: toInteger(row.page_id) })"
^
-
13:02:46
(warns)
...re-trying.
-
12:57:46
(warns)
FAILED on build_nodes query (Page), will re-try 1 times after 5 minute pause (the site may be too busy to serve the CSV to Neo4j)...
-
12:57:46
(warns)
Invalid input '{': expected "+" or "-" (line 1, column 131 (offset: 130))
"USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (page:Page { page_id: toInteger(row.page_id) })"
^
-
12:57:46
(warns)
Exception (Neo4j::Driver::Exceptions::ClientException) QUERY: {USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (page:Page { page_id: toInteger(row.page_id) })} MESSAGE: Invalid input '{': expected "+" or "-" (line 1, column 131 (offset: 130))
"USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (page:Page { page_id: toInteger(row.page_id) })"
^
-
12:57:46
(warns)
...re-trying.
-
12:52:46
(warns)
FAILED on build_nodes query (Page), will re-try 2 times after 5 minute pause (the site may be too busy to serve the CSV to Neo4j)...
-
12:52:46
(warns)
Invalid input '{': expected "+" or "-" (line 1, column 131 (offset: 130))
"USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (page:Page { page_id: toInteger(row.page_id) })"
^
-
12:52:46
(warns)
Exception (Neo4j::Driver::Exceptions::ClientException) QUERY: {USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (page:Page { page_id: toInteger(row.page_id) })} MESSAGE: Invalid input '{': expected "+" or "-" (line 1, column 131 (offset: 130))
"USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (page:Page { page_id: toInteger(row.page_id) })"
^
-
12:52:46
(warns)
...re-trying.
-
12:47:46
(warns)
FAILED on build_nodes query (Page), will re-try 3 times after 5 minute pause (the site may be too busy to serve the CSV to Neo4j)...
-
12:47:46
(warns)
Invalid input '{': expected "+" or "-" (line 1, column 131 (offset: 130))
"USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (page:Page { page_id: toInteger(row.page_id) })"
^
-
12:47:46
(warns)
Exception (Neo4j::Driver::Exceptions::ClientException) QUERY: {USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (page:Page { page_id: toInteger(row.page_id) })} MESSAGE: Invalid input '{': expected "+" or "-" (line 1, column 131 (offset: 130))
"USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'https://eol.org/data/vatican_city_sp_/publish_traits.tsv' AS row WITH row WHERE {"1=1"=>{:matches=>{:predicate=>"Term { uri: row.predicate }", :resource=>"Resource { resource_id: 243 }"}, :merges=>[[:page, :trait, :trait], [:trait, :predicate, :predicate], [:trait, :supplier, :resource]]}, "(row.sex IS NOT NULL AND TRIM(row.sex) <> '')"=>{:matches=>{:sex=>"Term { uri: row.sex }"}, :merges=>[[:trait, :sex_term, :sex]]}, "(row.lifestage IS NOT NULL AND TRIM(row.lifestage) <> '')"=>{:matches=>{:lifestage=>"Term { uri: row.lifestage }"}, :merges=>[[:trait, :lifestage_term, :lifestage]]}, "(row.statistical_method IS NOT NULL AND TRIM(row.statistical_method) <> '')"=>{:matches=>{:statistical_method=>"Term { uri: row.statistical_method }"}, :merges=>[[:trait, :statistical_method_term, :statistical_method]]}, "(row.value_uri IS NULL OR TRIM(row.value_uri) = '') AND (row.units IS NOT NULL AND TRIM(row.units) <> '')"=>{:matches=>{:units=>"Term { uri: row.units }"}, :merges=>[[:trait, :units_term, :units]]}, "(row.normal_units_uri IS NOT NULL AND TRIM(row.normal_units_uri) <> '')"=>{:matches=>{:normal_units=>"Term { uri: row.normal_units_uri }"}, :merges=>[[:trait, :normal_units_term, :normal_units]]}, "(row.value_uri IS NOT NULL AND TRIM(row.value_uri) <> '') AND (row.units IS NULL OR TRIM(row.units) = '')"=>{:matches=>{:object_term=>"Term { uri: row.value_uri }"}, :merges=>[[:trait, :object_term, :object_term]]}, "(row.object_page_id IS NOT NULL AND TRIM(row.object_page_id) <> '')"=>{:nodes=>[#<TraitBank::Slurp::NodeConfig:0x000055b8cd593158 @label="Page", @name="object_page", @pk_attr=#<struct TraitBank::Slurp::NodeConfig::Attribute key=:page_id, val="row.object_page_id">, @other_attrs=[]>], :merges=>[[:trait, :object_page, :object_page]]}, "(row.contributor_uri IS NOT NULL AND TRIM(row.contributor_uri) <> '')"=>{:matches=>{:contributor=>"Term { uri: row.contributor_uri }"}, :merges=>[[:trait, :contributor, :contributor]]}, "(row.compiler_uri IS NOT NULL AND TRIM(row.compiler_uri) <> '')"=>{:matches=>{:compiler=>"Term { uri: row.compiler_uri }"}, :merges=>[[:trait, :compiler, :compiler]]}, "(row.determined_by_uri IS NOT NULL AND TRIM(row.determined_by_uri) <> '')"=>{:matches=>{:determined_by=>"Term { uri: row.determined_by_uri }"}, :merges=>[[:trait, :determined_by, :determined_by]]}} MERGE (page:Page { page_id: toInteger(row.page_id) })"
^
-
12:47:46
(infos)
Importing 128000 rows from publish_traits.tsv
-
12:47:46
(infos)
adding new traits
-
12:47:46
(infos)
not removing any traits
-
12:47:46
(infos)
Connecting to https://content.eol.org/ ...
-
12:47:46
(infos)
Connecting to https://content.eol.org/ ...
-
12:47:46
(infos)
polling for trait diff metadata: /resources/348/publish_diffs.json
-
12:47:46
(starts)
#publish_traits = TraitBank::Slurp.load_resource_from_repo
-
12:47:46
(starts)
Running
-
12:47:46
(warns)
There were NO new pages, skipping...
-
12:47:38
(starts)
create_new_pages
-
12:47:38
(starts)
PageCreator
-
12:47:38
(starts)
Running
-
12:47:38
(starts)
restoring vernacular preferences...
-
12:47:38
(starts)
Running
-
12:47:38
(warns)
MISSING https://content.eol.org/data/vatican_city_sp_/publish_content_sections.tsv [404] (8 bytes); skipping
-
12:47:38
(infos)
Connecting to https://content.eol.org/ ...
-
12:47:38
(starts)
#grab_file content_sections.tsv
-
12:47:38
(starts)
Running
-
12:47:38
(starts)
#import_and_prop_ids ContentSection
-
12:47:38
(starts)
Running
-
12:47:38
(warns)
MISSING https://content.eol.org/data/vatican_city_sp_/publish_references.tsv [404] (8 bytes); skipping
-
12:47:38
(infos)
Connecting to https://content.eol.org/ ...
-
12:47:38
(starts)
#grab_file references.tsv
-
12:47:38
(starts)
Running
-
12:47:38
(starts)
#import_and_prop_ids Reference
-
12:47:38
(starts)
Running
-
12:47:38
(warns)
MISSING https://content.eol.org/data/vatican_city_sp_/publish_image_info.tsv [404] (8 bytes); skipping
-
12:47:38
(infos)
Connecting to https://content.eol.org/ ...
-
12:47:38
(starts)
#grab_file image_info.tsv