问题标签 [load-csv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
neo4j - 在 Neo4j 中使用加载 csv 添加关系需要大量时间
我正在使用加载 csv 操作将关系加载到 Neo4j 中的图形数据库中。节点已经创建。我有四种不同类型的关系要从四个不同的 CSV 文件(文件 1 - 59 关系,文件 2 - 905 关系,文件 3 - 173,000 关系,文件 4 - 超过 100 万个关系)创建。密码查询执行得很好,但是文件 1(59 个关系)需要 25 秒才能执行,文件 2 需要 6.98 分钟,文件 3 自过去 2 小时以来仍在继续。考虑到 neo4j 处理数百万关系的能力,我不确定这些执行时间是否正常。下面给出了我正在使用的示例密码查询。
'a' 和 'b' 是我为两个预加载的节点类别创建的两个索引,希望加快查找操作。
附加信息 - 节点数(a 类) - 1791 节点数(b 类) - 3341
有没有更快的方法来加载它并且加载 csv 操作需要这么多时间?我在某个地方出错了吗?
neo4j - Neo4j CSV导入查询超慢,设置关系时
我正在尝试评估 Neo4j(使用社区版本)。
我正在使用 LOAD CSV 进程导入一些数据(100 万行)。它需要匹配先前导入的节点以在它们之间创建关系。
这是我的查询:
我有以下指标:
这个查询已经运行了 5 天,到目前为止它已经创建了 270K 关系(超过 1M)。
Java 堆是 4g
机器有 32G 的 RAM 和一个用于驱动器的 SSD,只运行 linux 和 Neo4j
任何加快此过程的提示将不胜感激。
我应该尝试企业版吗?
查询计划:
neo4j - 在 Cypher 查询语言中使用属性组合设置唯一性
我有一个 csv 格式的航班数据库,其中包含日期和航班号以及其他列。
因此,在特定日期和时间,可以安排多个航班。我想使用 cql 在 neo4j 中导入这个数据库,创建日期和航班号组合的唯一约束。我的研究表明,不能使用 2 个属性的组合来设置唯一性。有什么办法可以做到这一点?
如果我在日期上设置索引,当我只想要一个关系时,它也会与其他属性创建多个关系。
neo4j - 创建唯一节点并制作具有多个值的标签
我是neo4j 的菜鸟,我的问题看起来很简单。我有 CSV 文件,具有下一个结构:
Id 是 Persons ID,Fam 是项目 ID,此人参与其中。如果他们从事同一个项目,我想联系他们。
在这种情况下,最好的数据模型是什么?我首先想到的是制作 id - 节点和 Fam 标签。但我不知道如何将多个标签加载到一个节点。二是将id和Fam都作为节点,然后查询显示相关员工。
对于第二种情况,代码将如下所示:
但我不知道如何只显示相关的 id。(我需要在 Gephi 中导出和可视化这个网络,只有 id)
对于第一种情况,我知道如何在 id 之间建立关系,但不知道如何编写 LOAD CSV 查询,这将使 id 具有多标签。
非常感谢您的建议。
neo4j - 无法在以下位置加载外部资源:http://{IP}:{Port}/XXX
我在加载 csv 数据时遇到问题……这是我的用例:我有一个返回 CSV 文件的 MVC 控制器。当我通过 Chrome 之类的浏览器访问“'http://{MY IP}:8083/site'”时,它会返回我想要的数据……但是当我从 Neo4j 浏览器访问它时,它会返回“无法在: 'http://{MY IP}:8083/site “……这在我没有远程使用 VPN 时有效,我没有改变任何东西……我唯一想到的是我在使用 VPN现在……这会引起问题吗?这是权限问题吗?日志文件什么都不说!!!这些是我在 neo4j.conf 属性中的 Neo4j 和网络相关配置:
这也设置为 true :
command-line - 在密码中进行批处理或从 Neo4j 浏览器上传多个文件
我正在使用以下查询将数据从 csv 加载到 Neo4j:
谁能告诉等效查询从 Neo4j 命令行加载数据或在浏览器中动态更改文件名或像“file:/file*”一样传递它...??
properties - Neo4j Cypher - 使用 LOAD CSV 添加属性
我有一组使用file_A创建的节点,其中包含一个带有每个节点的“id”的列。它是使用这个 Cypher 查询(在 Java 中)创建的:
现在我有另一个文件(file_B),它包含四列:id、description、prop2 和 prop3。我需要为之前创建的每个节点分配一个描述(属性“nodeDesc”)。这些描述将从file_B的“描述”列中读取。此外,要将此值分配给节点的“nodoDesc”属性,“prop2”和“prop3”都必须等于“1”。为此,我使用了这个 Cypher 查询:
file_B包含每个节点的一些描述,但只有一个节点的“prop2”和“prop3”都等于“1”。这就是我要分配给节点属性的那个。
执行上一个查询后我得到的问题是某些节点没有描述。在执行了几次测试之后,我已经验证它不会与 file_B 的列 'id' 匹配 'nodeId' ,但在该列中它是 'nodeId' 和 'prop2' 和 'prop3'等于 1'。
注意:file_A 大约有 400.000 行,而file_B 大约有 1.300.000 行。
谢谢。
neo4j - Neo4j - LOAD-CSV 未创建所有节点
我刚刚开始使用 Neo4J,我正在尝试使用 LOAD CSV 和以下脚本将一些数据加载到 Neo4j 3.1 中:
输入文件有大约 50k 行。它运行了几个小时,该过程没有完成,但在那之后,如果我查询数据库,我看到只有节点类型(Person)被创建。如果我运行一个包含 3 个条目的较小文件,则只会创建所有其他节点和关系。
我已经更改了分配给 Neo4j 和 JVM 的内存量,但仍然没有成功。我知道执行 MERGE 比 CREATE 需要更长的时间,但我试图避免插入重复的节点。
关于我应该改变什么或如何改进它的任何想法或建议?
谢谢,
——医学博士。
neo4j - 从网址加载 CSV
我正在使用 LOAD CSV 语句从公共 url 访问 csv 文件。只要我不在我公司的代理后面,它就可以正常工作。一旦代理处于活动状态,就不能再使用该语句访问该文件。
错误消息是Couldn't load the external resource at: <MY_PUBLIC_URL>
。
我已经设置了常用的环境变量 ( HTTP_PROXY
, HTTPS_PROXY
),并且我可以使用 bash 或从 python urllib、使用 node.js 或从浏览器地址栏访问该文件。
我还添加dbms.security.allow_csv_import_from_file_urls=true
了 Neo4j conf 文件,以及其他线程dbms.jvm.additional=-Dhttps.proxyHost=<MY_PROXY>
中dbms.jvm.additional=-Dhttps.proxyPort=<MY_PROXY>
的建议。
我已经从普通的 Neo4j 安装以及 Neo4j Docker 容器中进行了尝试,在这两种情况下,在代理后面时我都会遇到相同的错误。
LOAD CSV 可以在代理后面,如果可以,怎么做?