使用CypherXML访问孩子的孩子

问题描述

我无法访问此XML文件中的和标签。我设法找到了中的标签,但似乎无法为产品中的标签做到这一点。我希望有人可以对此提供帮助。抱歉,我的密码不正确,我还是刚开始使用neo4j ^^“。

<?xml version="1.0" encoding="UTF-8"?>
<drugbank xmlns="http://www.drugbank.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.drugbank.ca http://www.drugbank.ca/docs/drugbank.xsd" version="5.1" exported-on="2020-07-02">
<drug type="biotech" created="2005-06-13" updated="2020-06-12">
 <name>Lepirudin</name>
 <state>liquid</state>
 <synonyms>
    <synonym language="english" coder="">Hirudin variant-1</synonym>
    <synonym language="english" coder="">Lepirudin recombinant</synonym>
  </synonyms>
  <products>
    <product>
      <name>Refludan</name>
      <route>Intravenous</route>
    </product>
    <product>
      <name>Refludan</name>
      <route>Intravenous</route>
    </product>
  </products>
</drug>
</drugbank>
    CALL apoc.load.xml("file:///df.xml")
    YIELD value
    UNWIND value._children AS drug
    WITH drug.type AS drugtype,[item in drug._children WHERE item._type = "name"][0] AS name,[item in drug._children WHERE item._type = "state"][0] AS state,[item in drug._children WHERE item._type = "synonyms" | item._children][0] AS synonyms,[item in drug._children WHERE item._type = "products" | item._children][0][0] AS products
     
    MERGE (d:Droge {label: name._text})
    SET d.state = state._text
    SET d.name = name._text
    MERGE (s:State {label: state._text})
    SET s.state = state._text
    MERGE (s)-[:State_off]->(d)
    FOREACH (item in synonyms |
       MERGE (syn:Synonym {label: item._text})
       SET syn.language = item.language
       MERGE (syn)-[:Synonym_off]->(d) )
    RETURN *;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...