当前位置: 首页 > 面试题库 >

neo4j-如何通过rest api对1000个对象运行查询

羊昊苍
2023-03-14
问题内容

我需要运行带有1000个对象的查询。使用/batch终结点,我可以使它正常工作,但是太慢了(30秒处理300个项目)。

因此,我正在尝试与该文档页面中所述的方法相同:http :
//docs.neo4j.org/chunked/2.0.1/rest-api-cypher.html#rest-api-create-mutiple-
nodes-with -属性

将此JSON发布到 http://localhost:7474/db/data/cypher

{
    "params": {
        "props": [
            {
                "_user_id": "177032492760",
                "_user_name": "John"
            },
            {
                "_user_id": "177032492760",
                "_user_name": "Mike"
            },
            {
                "_user_id": "100007496328",
                "_user_name": "Wilber"
            }
        ]
    },
    "query": "MERGE (user:People {id:{_user_id}}) SET user.id = {_user_id}, user.name = {_user_name} "
}

问题是我收到此错误:

{ message: 'Expected a parameter named _user_id',
  exception: 'ParameterNotFoundException',
  fullname: 'org.neo4j.cypher.ParameterNotFoundException',
  stacktrace:
  ...

也许这仅适用于CREATE查询,如docs页面所示?


问题答案:

将FOREACH和MERGE与ON CREATE SET结合使用:

 FOREACH (p in {props} | 
    MERGE (user:People {id:{p._user_id}}) 
      ON CREATE  user.name = {p._user_name})

将此JSON发布到 http://localhost:7474/db/data/cypher

{
    "params": {
        "props": [
            {
                "_user_id": "177032492760",
                "_user_name": "John"
            },
            {
                "_user_id": "177032492760",
                "_user_name": "Mike"
            },
            {
                "_user_id": "100007496328",
                "_user_name": "Wilber"
            }
        ]
    },
    "query": "FOREACH (p in {props} | MERGE (user:People {id:{p._user_id}}) ON CREATE  user.name = {p._user_name}) "
}


 类似资料:
  • 问题内容: 你好。我有一个实现runnable的类,并且有一个List,用于存储用该类的不同对象实例化的线程。给定运行线程对象的基础对象,如何访问基础对象的属性?这是一个例子: 问题答案: 我在文档中看不到任何方法。 那么,我最好的答案是您可能应该使用而不是(或在之上)使用。或者,也许您想要某种映射结构,以便可以从线程访问Runnable。(例如,)

  • 问题内容: 有谁知道(如果可能的话,也用破折号)通过对象键对对象数组进行分组然后根据分组创建新的对象数组的方法吗?例如,我有一系列汽车对象: 我想制作一组新的汽车对象,并按以下类别分组: 问题答案: 。简单,并允许在分组结构中的对象中进行一些重复。 但是,OP还要求删除重复的密钥。如果您想一路走下去: 产量: 如果您想使用Underscore.js进行此操作,请注意,其版本称为。

  • 问题内容: 这应该是程序员经常遇到的问题,但是我从来没有尝试过用这种方式来解决问题。 也就是说,我会解释。说,我需要像这样从表Zoo获取值: 现在,我可以将所有值都添加到列表中。我需要在网格中显示该查询的详细信息。现在已经有了z.predator和z.prey值(它们是时间上的整数,即它们各自的ID),我需要填充其有意义的值以将其显示给最终用户(我不能仅仅显示其ID)。所以现在我可能会做这样的事情

  • 问题内容: 尝试查看是否有任何JavaScript库功能可以合并两个json对象的特定键的值 使用$ .extend和$ .merge给出以下结果 我正在寻找的是 问题答案: 您想深入扩展

  • 不过就是创建结构体的时候,根据每个对象的特征赋值不同的属性罢了 // 3.创建一个结构体变量 p1 := Person{"lnj", 33} per.say() p2 := Person{"zs", 18} per.Say()