covidgraph / data_clinical-trials-gov

Scripts for loading in data from ClinicalTrial.gov
MIT License
4 stars 1 forks source link

One query failes; Type mismatch: expected Path but was String #3

Open motey opened 3 years ago

motey commented 3 years ago
Run query 
'
 call apoc.load.json('https://clinicaltrials.gov/api/query/study_fields?expr=COVID+AND+AREA%5BStudyType%5DObservational&fields=NCTId&fmt=json&max_rnk=1000') yield value
with value.StudyFieldsResponse.NStudiesFound as NStudies, RANGE(0,(value.StudyFieldsResponse.NStudiesFound/1000)) as nloop
UNWIND nloop as i
with range(1+1000*i,1000+1000*i,999) as RANGES
with RANGES, RANGES[1] as urange, RANGES[0] as lrange
call apoc.load.json('https://clinicaltrials.gov/api/query/study_fields?expr=COVID+AND+AREA%5BStudyType%5DObservational&fields=NCTId,Gender,GenderBased,GenderDescription,MinimumAge,MaximumAge,HealthyVolunteers,StudyPopulation,SamplingMethod,EligibilityCriteria&min_rnk='+lrange+'&max_rnk='+urange+'&fmt=json') yield value
with value.StudyFieldsResponse.StudyFields as coll unwind coll as study_metadata
UNWIND study_metadata.NCTId as Id
match(ct:ClinicalTrial{NCTId:Id})
UNWIND study_metadata.EligibilityCriteria as EligibilityCriteria
with study_metadata, ct, split(replace(replace(trim(substring(EligibilityCriteria,length(split(EligibilityCriteria,"Exclusion")[0]),size(EligibilityCriteria))),'\n','#'),'##','#'),'#') as Exclusion,
split(replace(replace(trim(substring(EligibilityCriteria,0,length(split(EligibilityCriteria,"Exclusion")[0]))),'\n','#'),'##','#'),'#') as Inclusion
with study_metadata, ct, Inclusion, Exclusion, RANGE(1,size(Inclusion)-1) as nincl
FOREACH(i in nincl |
MERGE(ct)-[:HAS_INCLUSION_CRITERIA]->(incl:InclusionCriteria{criteria:Inclusion[i]}))
with study_metadata, ct, Inclusion, Exclusion, RANGE(1,size(Exclusion)-1) as nexcl
FOREACH(i in nexcl |
MERGE(ct)-[:HAS_EXCLUSION_CRITERIA]->(excl:ExclusionCriteria{criteria:Exclusion[i]}))
'
Traceback (most recent call last):
  File "/home/tim/Repos/github.com/covidgraph/data_clinical-trials-gov/dataloader/main.py", line 100, in <module>
    tx.run(q)
  File "/home/tim/.local/lib/python3.8/site-packages/py2neo/database/work.py", line 119, in run
    result = self._connector.run_in_tx(self._transaction, cypher, parameters, hydrant)
  File "/home/tim/.local/lib/python3.8/site-packages/py2neo/client/__init__.py", line 1007, in run_in_tx
    cx.sync(result)  # TODO: avoid sync on every tx.run
  File "/home/tim/.local/lib/python3.8/site-packages/py2neo/client/bolt.py", line 321, in sync
    self._audit(result)
  File "/home/tim/.local/lib/python3.8/site-packages/py2neo/client/bolt.py", line 420, in _audit
    task.audit()
  File "/home/tim/.local/lib/python3.8/site-packages/py2neo/client/bolt.py", line 609, in audit
    item.audit()
  File "/home/tim/.local/lib/python3.8/site-packages/py2neo/client/bolt.py", line 781, in audit
    raise self._failure
py2neo.database.work.ClientError: [Statement.SyntaxError] Type mismatch: expected Path but was String (line 12, column 130 (offset: 1076))
"with study_metadata, ct, split(replace(replace(trim(substring(EligibilityCriteria,length(split(EligibilityCriteria,"Exclusion")[0]),size(EligibilityCriteria))),'\n','#'),'##','#'),'#') as Exclusion,"
                                                                                                                                  ^
KirstenLangendorf commented 3 years ago

Hi Tim,

I am attending a virtual conference tonight. Can have a look at it tomorrow morning.

Kr Kirsten

From: Tim notifications@github.com Reply to: covidgraph/data_clinical-trials-gov reply@reply.github.com Date: Wednesday, 7 October 2020 at 17.51 To: covidgraph/data_clinical-trials-gov data_clinical-trials-gov@noreply.github.com Cc: Kirsten Langendorf kl@s-cubed.dk, Assign assign@noreply.github.com Subject: [covidgraph/data_clinical-trials-gov] One query failes; Type mismatch: expected Path but was String (#3)

Run query

'

call apoc.load.json('https://clinicaltrials.gov/api/query/study_fields?expr=COVID+AND+AREA%5BStudyType%5DObservational&fields=NCTId&fmt=json&max_rnk=1000') yield value

with value.StudyFieldsResponse.NStudiesFound as NStudies, RANGE(0,(value.StudyFieldsResponse.NStudiesFound/1000)) as nloop

UNWIND nloop as i

with range(1+1000i,1000+1000i,999) as RANGES

with RANGES, RANGES[1] as urange, RANGES[0] as lrange

call apoc.load.json('https://clinicaltrials.gov/api/query/study_fields?expr=COVID+AND+AREA%5BStudyType%5DObservational&fields=NCTId,Gender,GenderBased,GenderDescription,MinimumAge,MaximumAge,HealthyVolunteers,StudyPopulation,SamplingMethod,EligibilityCriteria&min_rnk='+lrange+'&max_rnk='+urange+'&fmt=json') yield value

with value.StudyFieldsResponse.StudyFields as coll unwind coll as study_metadata

UNWIND study_metadata.NCTId as Id

match(ct:ClinicalTrial{NCTId:Id})

UNWIND study_metadata.EligibilityCriteria as EligibilityCriteria

with study_metadata, ct, split(replace(replace(trim(substring(EligibilityCriteria,length(split(EligibilityCriteria,"Exclusion")[0]),size(EligibilityCriteria))),'\n','#'),'##','#'),'#') as Exclusion,

split(replace(replace(trim(substring(EligibilityCriteria,0,length(split(EligibilityCriteria,"Exclusion")[0]))),'\n','#'),'##','#'),'#') as Inclusion

with study_metadata, ct, Inclusion, Exclusion, RANGE(1,size(Inclusion)-1) as nincl

FOREACH(i in nincl |

MERGE(ct)-[:HAS_INCLUSION_CRITERIA]->(incl:InclusionCriteria{criteria:Inclusion[i]}))

with study_metadata, ct, Inclusion, Exclusion, RANGE(1,size(Exclusion)-1) as nexcl

FOREACH(i in nexcl |

MERGE(ct)-[:HAS_EXCLUSION_CRITERIA]->(excl:ExclusionCriteria{criteria:Exclusion[i]}))

'

Traceback (most recent call last):

File "/home/tim/Repos/github.com/covidgraph/data_clinical-trials-gov/dataloader/main.py", line 100, in

tx.run(q)

File "/home/tim/.local/lib/python3.8/site-packages/py2neo/database/work.py", line 119, in run

result = self._connector.run_in_tx(self._transaction, cypher, parameters, hydrant)

File "/home/tim/.local/lib/python3.8/site-packages/py2neo/client/init.py", line 1007, in run_in_tx

cx.sync(result)  # TODO: avoid sync on every tx.run

File "/home/tim/.local/lib/python3.8/site-packages/py2neo/client/bolt.py", line 321, in sync

self._audit(result)

File "/home/tim/.local/lib/python3.8/site-packages/py2neo/client/bolt.py", line 420, in _audit

task.audit()

File "/home/tim/.local/lib/python3.8/site-packages/py2neo/client/bolt.py", line 609, in audit

item.audit()

File "/home/tim/.local/lib/python3.8/site-packages/py2neo/client/bolt.py", line 781, in audit

raise self._failure

py2neo.database.work.ClientError: [Statement.SyntaxError] Type mismatch: expected Path but was String (line 12, column 130 (offset: 1076))

"with study_metadata, ct, split(replace(replace(trim(substring(EligibilityCriteria,length(split(EligibilityCriteria,"Exclusion")[0]),size(EligibilityCriteria))),'\n','#'),'##','#'),'#') as Exclusion,"

                                                                                                                              ^

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcovidgraph%2Fdata_clinical-trials-gov%2Fissues%2F3&data=02%7C01%7C%7Cc5f6de712484468a863408d86ad8cc22%7C301427c9511349b7901842bf7e6be88c%7C0%7C0%7C637376826650510810&sdata=X9%2BmDjX7Boe%2FOqnbv7f2XEXHVwnnUnA8CmwLwZLPRAQ%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAMGNKAMBLTRXR53WVWUOPFLSJSE6PANCNFSM4SHSO3BQ&data=02%7C01%7C%7Cc5f6de712484468a863408d86ad8cc22%7C301427c9511349b7901842bf7e6be88c%7C0%7C0%7C637376826650510810&sdata=Mw66U7cYzs9ybGyHiT%2BHZ%2FxrOT2jf%2FdMX3E0HhyvlfI%3D&reserved=0.