使用��新生/新生客户�� 作为服务提供商+Facade进入Laravel 5.1
[edit]:好的,我在测试期间几次更新了这篇文章,现在正在工作...我在下面放了正确的代码... [/edit] 自从今天早上以来,我正在尝试将" Neoxygen/Neoclient"用作服务提供者,并将其用于Laravel 5.1的新新安装. 为此,我需要" neoxygen/neoclient":"^3.0"我的作曲家 然后,我已经在称为" neoclientserviceprovider"的"应用程序/提供商"中创建了一个新的ServiceProvider. 在其寄存器方法中;我实例化了连接: public function register() { $this->app->singleton('neoclient', function ($app) { return ClientBuilder::create() ->addConnection('default', 'http', env('NEO4J
0 2023-05-31
编程技术问答社区
将Cypher查询作为Neo4j上的批量操作
我需要在PHP中运行此类查询: START n = node($thisUser), m = node($userId) MATCH n-[r:RATED]->m WHERE r.skillId = $id RETURN id(r) 单个页面有很多(〜30).由于它使用的是休息,因此运行时不适用(〜5-10秒).因此,我正在尝试将它们发送到一批中,但是我找不到任何方法通过REST作为单批操作发送实际的Cypher查询. 有办法做到吗? 解决方案 您是否尝试过以下操作? a) transactactional Rest Resours b) batching 通过/db/data/batch资源,在有效载荷中使用"to":"/cypher" c)传递集合而不是单个值作为参数
0 2023-05-31
编程技术问答社区
我可以在neo4j中用指定的id创建一个节点吗?
我想在neo4j中保持关系,但是(也许,我还没有决定)将对象保留在不同的db(redis)中. 如果要这样做,那么在存储db和neo4j中同步ID将是一件好事. 那么,我可以在neo4j中创建一个传递ID的节点吗? ps PHP项目和通过REST API访问NEO4J. 解决方案 您通常不能,只有使用batchimporter, http://docs.neo4j.org/chunked/snapshot/indexing-batchinsert.html ,您可以指定要使用的ID. 其他解决方案 否则,将外部ID用作节点属性和索引这些属性的节点.因此,您具有外部ID的双向分辨率. 也可以使用 auto-indexer ,因此它会自动发生在节点创建,更新和删除上. 您还可以查看 neo4jphp 作为库,可以访问neo4j的RESTAPI.
0 2023-05-30
编程技术问答社区
Neo4j-Graphaware reco4php-Problem with namespaces
我正在尝试从neo4j -reco4php页面上运行演示,请此链接 我非常仔细地遵循每个步骤,但最后遇到了一个奇怪的错误. 让我用更多详细信息解释: 这是我要运行的代码: require 'vendor/autoload.php'; use GraphAware\Common\Cypher\Statement; use GraphAware\Common\Type\Node; use GraphAware\Reco4PHP\Context\Context; use GraphAware\Reco4PHP\Engine\SingleDiscoveryEngine; class RatedByOthers extends SingleDiscoveryEngine { public function discoveryQuery(Node $input, Context $context) { $query = 'MATCH (input:User) WHERE
2 2023-05-29
编程技术问答社区
在我的测试中,NE4J与MySQL相比似乎很慢。我怎样才能使它更快呢?
我是Neo4J的新手,我想看看它的速度有多快.我开始对其进行测试,并在MySQL和Neo4J中创建了一个表格,并使用这些属性(字段): id random_number time_stamp 和我写了一个程序来生成大规模数据并插入约1.5亿行(以及Neo4J中的节点).我可以说写速几乎相同. 所以,我在两个数据库中测试了一个选择查询. "我想用255454的Random_id获得一行(节点)"(从此随机ID中知道有30行以上) neo4j: match (t:testLabel {random_id: 255454}) RETURN t LIMIT 50; mysql: SELECT * FROM test WHERE random_id=255454 LIMIT 50 neo4j花了〜47秒,而mysql花费了约25秒才能返回结果. 磁盘上的neo4j尺寸变为〜35GB,磁盘上的mySQL大小变为〜5.2 GB
4 2023-05-24
编程技术问答社区
如何在使用Neo4j 2.0 RC1批量提交节点时提高性能?
我有兴趣知道该程序是否可以改进以更快的速度.似乎,当我们有限制时,在交易的关闭()中都花费了很多时间( 90秒, ) 以下是程序的输出: 2013-12-05 14:30:20,399 [main] INFO net.ahm.graph.Lab - ############# WAVE 1 ############# 2013-12-05 14:30:20,399 [main] INFO net.ahm.graph.Lab - TIME TO BEGIN TX (m-sec): 0 2013-12-05 14:30:45,296 [main] INFO net.ahm.graph.Lab - TIME TO CREATE 10000 nodes (m-sec): 24897 2013-12-05 14:30:45,296 [main] INFO net.ahm.graph.Lab - TIME TO MARK SUCCESS (m-sec): 0 2013-1
0 2023-05-24
编程技术问答社区
是否有可能强制一个neo4j事务超时?
这可能是用于访问某些NEO4J数据的典型Java 7样板. 是否存在任何机制,您可以通过超时设置交易以自动失败和回滚? try (Transaction tx = graphdb.beginTx()) { Node node = // Get some Nodes ... Iterable rels = node.getRelationships(...); for (Relationship rel : rels) { // Oh no! This is a super-node with a billion Relationships! } tx.success(); return data; } 我想只有int count = 0并增加每次迭代,然后: if(count > XYZ) throw TakingTooLongException(count) ?
0 2023-05-24
编程技术问答社区
在neo4j 1.8中查找复制节点的有效方法?
我试图在NEO4J 1.8数据库(使用NEO4J 1.8)中编程找到所有重复的节点. 需要检查的节点都具有(未索引的)属性externalId,我想找到重复的.这是我所遇到的Cypher查询: START n=node(*), dup=node(*) WHERE HAS(n.externalId) AND HAS(dup.externalId) AND n.externalId=dup.externalId AND ID(n)
0 2023-05-24
编程技术问答社区
使用neo4j rest http客户端的性能问题
用Apache HTTP客户端替换Neo4J-JDBC客户端后挣扎. 似乎我们只运行执行我们查询的1K并发用户时仍有问题. 这就是我们使用客户端的方式: 这是我们使用该rest-lient执行查询的方式: 分析后,我们看到上述不良性能结果: 每个请求的AVG延迟为3秒. 我们应该抛弃neo4j吗?我们对表演结果感到拼命 谢谢. 解决方案 那么,您想提出更多并发请求吗?让我们探索我们可以在这里做什么. 查询 首先 - 检查查询的性能是否足够好.复制式neo4j浏览器,使用PROFILE预先浏览并探索输出. 可能是您的查询所做的要比您预期的要多得多.由于Neo4J仍在执行查询. ,这导致了很长的等待时间. 客户 httpclient配置 您正在使用PoolingHttpClientConnectionManager. 从文档: poolinghttpclientConnectionManager在每个路
2 2023-05-24
编程技术问答社区
通过Python(PY2NEO)将大型数据集转录到Neo4J中
我在过去的几周中尝试使用Scikit Allel库将基因组数据集加载到Neo4J中.我已经设法将EXOMES的所有变体加载到VCF文件和所有具有相关表型数据的主题中,我现在只是尝试在变体和受试者之间建立关系.我在Python上的经验不是很有经验,我认为这个问题不需要对基因组学或Scikit-Pallial库有很好的了解,因此不要对此感到害怕. 下面的代码工作起作用,但令人难以置信的缓慢.我认为为每个主题创建一个数据框或一组列表可能是一种更好的方法,而不是为j中的每个元素创建图形交易,但对于循环中的每个元素这.我也考虑了其中的numba,但不知道从哪里开始. 这个过程每小时创建〜1个新主题,每个染色体在〜1750名受试者和23个染色体中,因此当前设置工作需要很长时间. import pandas as pd import csv import math import allel import zarr from py2neo import Graph, Node, Rel
2 2023-05-24
编程技术问答社区
负载速度真的很慢 Neo4jClient C# LoadCsv
我现在使用的代码真的很慢,每秒约20个插入物,并使用分离器创建多个CSV文件以加载.有没有一种方法可以使用dotnet的neo4jclient以适当的方式使用"使用定期提交1000"? public async Task InsertEdgesByName(List nodeListA, List nodeListB, List weightList, string type) { for (var i = 0; i
0 2023-05-24
编程技术问答社区
对于给定类型的节点、关系和查询,neo4j在时间和空间复杂性方面的表现如何?
认为我将在图表中有以下内容: 100 Million nodes, More than 1 Billion connections/relationships Node properties: around 10 properties, mix of int, doubles, strings, HashMaps etc. Relationship properties: around 10 double values and 2-3 string (with avg 50 chars) values 现在,假设我想通过查询每个节点上的邻居来更新所有节点和关系属性值.即说为 step1: search a node, say X, with given Id, step2: get it's neighbours, step3: update node properties of X and all relationship properties between X
6 2023-05-24
编程技术问答社区
优化Neo4j Cypher路径搜索,在无向图中使用有限路径
作为" neo4j cypher path查找找到的问题.无方向的图".迈克尔·亨格(Michael Hunger)和韦斯·弗里曼(Wes Freeman)友好地帮助了,但我未能适应学到的技术来寻找应该返回路径的查询. 问题: 以下查询大约需要3s,并从数据库中返回13行(找到的路径).我发现它很慢,想让它更快地执行,但不知道如何优化它. (当然,这是一个例子,但我发现其他其他查询也很慢.) START n=node:NodeIds('id:4000'), t=node:NodeIds('id:10778') MATCH path = (n)-[:ASSOCIATIVY_CONNECTION*1..3]-(t) RETURN nodes(path) AS Nodes 以及配置文件数据相同: neo4j-sh (0)$ profile START n=node:NodeIds('id:4000'), t=node:NodeIds('id:10778'
2 2023-05-24
编程技术问答社区
neo4j的缓存是如何加快查询速度的?
我目前正在使用neo4j作为数据库和查询,涉及一些艰难的关系发现,并且在进行绩效测试后,我们遇到了一些问题. 我们发现缓存正在影响请求的时间(从3000ms到100ms左右).做同样的请求两次会导致一个非常慢的,第二个会使第二个请求更快.经过一些搜索,我们看到了热身方法,该方法将预加载数据库中的所有节点和关系,以查询类似的内容: match (n)-[r]->() return count(1); 激活了缓存加上此热身查询,我们的查询时间大大减少了,但仍然不像您查询两次,三到四倍的相同查询一样快. 因此,我们继续进行测试和搜索信息,直到我们看到Neo4J也以某种方式缓冲了查询,以免每次(如果我是对的话).我说,因为经过激烈的测试,我可以得出结论,Neo4J正在"即时"编译查询. 让我展示一个简化的示例: (数字是 id 属性) 如果我提出以下请求: match (n:green {id: 1})-[r]->(:red)-[s]->(:gree
0 2023-05-24
编程技术问答社区
如何配置才能使neo4j更快?
我尝试使用neo4j进行一些有关SNS的实验.我创建了一个由100万用户,1万项目组成的随机图,每个用户大约有100个朋友和100个喜欢的项目.因此,图中大约有100万个节点和2亿个关系,图形文件占4.8GB.所有节点只有一个ID,我为其创建了索引. 现在,我使用Java API设置了一个小集群来维护此图,该图由三个VM组成.每个VM具有 16GB RAM,Intel Xeon CPU 2.00GHz(8个核).以下是一些配置: config.put( "neostore.nodestore.db.mapped_memory", "150M"); config.put("neostore.relationshipstore.db.mapped_memory", "5G"); config.put( "neostore.propertystore.db.mapped_memory", "100M"); config.put( "neostore.propertystore.db.st
2 2023-05-24
编程技术问答社区
无法重现/验证图数据库和neo4j行动书中的性能要求
更新我提出了一个后续问题,其中包含更新的脚本和更清晰的设置,以 neo4j性能比较到MySQL(如何改进?).请继续./update 我在验证"图形数据库"中的绩效主张(第20页)和neo4j(第1章)中遇到了一些问题. 要验证这些主张,我创建了一个用50"朋友"的100000"人"条目的示例数据集,并试图查询例如朋友4啤酒花.我在MySQL中使用了相同的数据集.与朋友的朋友超过4个啤酒花 MySQL在0.93秒返回,而 neo4j需要65 -75秒(在重复使用的电话中). . 我如何改善这种悲惨的结果,并验证书籍中的主张? 更多细节: 我使用Ubuntu12.04 64bit,Java版本" 1.7.0_25"和MySQL 5.5.5.31,Neo4J-Community-2.0.0.0.0-M03(我得到类似的类似结局1.9) 所有代码/示例数据都可以在 https://github.com/jhb/neo4j - 经验/(与2.0.0一起使用).可
0 2023-05-24
编程技术问答社区
如何比较没有缓存的neo4j查询的性能?
我一直在尝试比较neo4j中的查询性能. 为了使查询更有效,我添加了索引,使用配置文件分析了结果,并在使用使用索引时尝试执行相同的操作. 在大多数查询中,使用第二个选项(使用索引),DB命中要好得多,行相同或更小,但是时间性能似乎并不可靠:在几个查询中,添加使用索引的几个查询却较慢.更好的性能参数(DB命中和行)和通过重新执行查询来好得多. 为了停止缓存的干扰,转到了属性文件,将neo4j.properties中的cache_type更改为none并重新启动了NEO,但是同一查询的结果似乎每次都会更快(直到直到a某些点). 测试它的最佳方法是什么? 解决方案 neo4j具有(最多2.2.x)a 两个分层的缓存建筑.使用cache_type=node您只切换对象缓存.要禁用页面缓存,您可以使用dbms.pagecache.memory=0.但是,如果所有缓存都被禁用,您基本上可以测量IO子系统的速度,因为每个查询都归结为裸机并从光盘中读取. 我建议一种
0 2023-05-24
编程技术问答社区
Neo4j执行递归查询的速度比MySQL慢
我想在执行递归查询时比较neo4j(ver.3.1)和mysql.因此,我在MySQL数据库中创建了两个表 - Customer和CustomerFriend. 第二个表由CustomerID和FriendID列组成,它们都指向Customer表中的CustomerID列.在neo4j中创建了相应的实体: Customer节点和FRIEND_OF关系(c:Customer)-[f:FRIEND_OF]->(cc:Customer).数据库中充满了相同的数据: 100000个客户,每个客户都有100个关系. 在查询下执行: mysql( 60s ) SELECT distinct cf4.FriendID FROM customerfriend cf1 join customerfriend cf2 on cf1.FriendID = cf2.CustomerID join customerfriend cf3 on cf2.FriendID = cf3.Custo
8 2023-05-23
编程技术问答社区
Neo4j通过bolt协议有很高的延迟性
我正在使用neo4j进行一个项目,使用官方的neo4j驱动程序,以获取.net: 该驱动程序在螺栓协议上起作用,我的假设是,专门的二进制协议将比HTTP API更有效.但是自项目开始以来,我注意到Neo4J的潜伏期相对较高,即使是非常简单的操作.例如,当UserID是索引字段和数据库时,以下30-60ms之类的匹配项,否则是完全空的: match(n:User { UserID: 1 }) return n.UserID 这种行为既出现在我的本地机器(零网络开销)和我们的生产环境上.我今天开始调查此问题,发现查询很快返回,但是实际流式传输的结果需要很长时间.例如,以下查询在local主机上返回呼叫之前对 0.2ms 进行result上的调用ToArray()(在这种情况下为单个整数字段进行缓冲)会增加时间 60ms . using (var driver = GraphDatabase.Driver($"bolt://localhost:7687", AuthTok
0 2023-05-23
编程技术问答社区