如何解决使用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 举报,一经查实,本站将立刻删除。