`
qindongliang1922
  • 浏览: 2184745 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117556
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125937
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59942
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71312
社区版块
存档分类
最新评论

Neo4j的Rest接口使用

阅读更多


Neo4j的服务除了提供了基于java的客户端驱动包,同时也支持我们通过rest服务访问它,这一点非常便捷,意味着任何支持http访问的编程语言都可以使用cypher的rest来访问neo4j,同时支持http报文以streaming的形式的返回数据,以获得更好的性能,并大幅度节省内存,当然前提是需要我们在每个request请求中在header中加入:
X-Stream: true



默认想要访问neo4j服务,是需要授权认证的,第一次安装的
neo4j在登录(http://localhost:7474)时是需要改密码的,默认是neo4j:neo4j,改完密码之后,每次登录需要验证用户名和密码的。


#### 1,执行单个cpyher语句事务的http请求
查询neo4j节点总数的例子
curl http://192.168.10.31:7474/db/data/transaction/commit -u neo4j:dong -H "Content-Type: application/json"  -d '{"statements" : [ {    "statement" : "match (n) return count(n)" } ]}'

返回的结果如下:

{
    "results": [
        {
            "columns": [
                "count(n)"
            ], 
            "data": [
                {
                    "row": [], 
                    "meta": []
                }
            ]
        }
    ], 
    "errors": [ ]
}


注意上面的curl语句里面:

(1)需要加上用户名和密码,如果开启了权限认证

(2)要设置内容类型为json数据,同时采用了post请求

此外,如果不需要保持打开的事务横跨多个http请求,我们可以使用打开单个事务,然后执行cypher语句,最后提交仅仅单个http请求中。

#### 2,执行多个cpyher语句事务的http请求

我们在同一个http请求中也可以发送多个cpyher语句,响应的结果体中会包含每个cpyher语句结果。

一个例子如下:


    POST http://localhost:7474/db/data/transaction/commit
    Accept: application/json; charset=UTF-8
    Content-Type: application/json


post请求体
{
  "statements" : [ {
    "statement" : "CREATE (n) RETURN id(n)"
  }, {
    "statement" : "CREATE (n {props}) RETURN n",
    "parameters" : {
      "props" : {
        "name" : "My Node"
      }
    }
  } ]
}

响应:
{
  "results" : [ {
    "columns" : [ "id(n)" ],
    "data" : [ {
      "row" : [ 56 ],
      "meta" : [ null ]
    } ]
  }, {
    "columns" : [ "n" ],
    "data" : [ {
      "row" : [ {
        "name" : "My Node"
      } ],
      "meta" : [ {
        "id" : 57,
        "type" : "node",
        "deleted" : false
      } ]
    } ]
  } ],
  "errors" : [ ]
}


#### 3,回滚打开的事务



    DELETE http://localhost:7474/db/data/transaction/36
    Accept: application/json; charset=UTF-8

响应的结果:
{
  "results" : [ ],
  "errors" : [ ]
}


注意上面是一个delete的rest请求。

#### 4,开启查询的系统统计信息


    POST http://localhost:7474/db/data/transaction/commit
    Accept: application/json; charset=UTF-8
    Content-Type: application/json


请求体如下:
{
  "statements" : [ {
    "statement" : "CREATE (n) RETURN id(n)",
    "includeStats" : true
  } ]
}


请求结果如下:
{
  "results" : [ {
    "columns" : [ "id(n)" ],
    "data" : [ {
      "row" : [ 58 ],
      "meta" : [ null ]
    } ],
    "stats" : {
      "contains_updates" : true,
      "nodes_created" : 1,
      "nodes_deleted" : 0,
      "properties_set" : 0,
      "relationships_created" : 0,
      "relationship_deleted" : 0,
      "labels_added" : 0,
      "labels_removed" : 0,
      "indexes_added" : 0,
      "indexes_removed" : 0,
      "constraints_added" : 0,
      "constraints_removed" : 0
    }
  } ],
  "errors" : [ ]
}



总结:

neo4j服务暴露的http rest接口还是非常不错的,本篇文章简单的介绍了通过curl调用neo4j的方法,如果深入学习或者研究,可以参考官网文档https://neo4j.com/docs/developer-manual/current/http-api/

有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。

0
3
分享到:
评论

相关推荐

    neo4jphp, Neo4j REST接口的PHP包装器.zip

    neo4jphp, Neo4j REST接口的PHP包装器 Neo4jPHP作者:Josh Adell josh.adell@gmail.com 。版权所有( c ) 2011 -2012用于 Neo4j 图形数据库REST接口的PHP包装器深度文档和示例:http://github.co

    neo4j-rest-documentation-3.3

    使用WebLogic操作Neo4j REST API的例子展示了如何在特定的应用服务器环境下使用Neo4j REST API。 以上内容基于文档所提供的Neo4j REST API 3.3版本的部分内容摘录,详细介绍了Neo4j REST API的核心概念和操作方法,...

    rainbird-neo4j:Neo4j REST 接口周围的薄包装器

    雨鸟 Neo4j REST 端点的瘦包装器,增加了在查询中执行客户端替换的能力。 它还以比原始端点稍微理智的方式返回结果。安装npm install --save rainbird-neo4j基本用法 var Neo4j = rewire ( 'rainbird-neo4j' ) ;var ...

    neo4j:鸡计划的neo4j REST客户端

    3. **客户端库**:在这个上下文中,"新4j"可能是一个客户端库,它封装了与Neo4j REST API的交互,提供了简单的接口供开发者在项目中使用,避免了直接处理HTTP请求和解析JSON响应的复杂性。 4. **Java和Groovy**:...

    Neo4j中文使用手册

    - **功能介绍**:Neo4j服务器提供了REST API接口,方便HTTP客户端进行交互。 - **部署指南**:详细介绍如何设置和配置Neo4j服务器。 **6. REST API目录前言** - **REST API文档**:包含了所有可用的REST API端点,...

    neo4j图数据库官方使用手册-3.0

    12. **API与开发**:手册还涵盖了与Neo4j交互的各种编程接口,如Java API、REST API以及如何在各种编程语言中集成Neo4j。 13. **图形浏览器Neo4j Browser**:作为图形化界面,Neo4j Browser允许用户直接在Web浏览器...

    neocons:Neo4J REST API的功能丰富的惯用Clojure客户端

    【标题】"neocons:Neo4J REST API的功能丰富的惯用Clojure客户端"指的是一个针对Neo4J数据库的Clojure库,它提供了方便的接口,用于通过REST API与Neo4J进行交互。这个库旨在使Clojure开发者能够更加高效、便捷地...

    前端开源库-node-neo4j

    REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,而Neo4j提供了RESTful接口供客户端通过HTTP请求来操作数据库。 **Neo4j基础知识** Neo4j是一款高性能的NoSQL图形...

    Neo4j中文使用手册以及例子 word

    Neo4j服务器是运行Neo4j的核心组件,提供了REST API等接口供客户端调用。 ##### 18. REST API REST API是Neo4j提供的一种基于HTTP协议的接口,允许客户端通过HTTP请求执行各种操作,如查询数据、更新数据等。 ###...

    NEO4J1.8中文手册

    - **REST API**:提供通过REST接口与Neo4j交互的指南。 **5. 操作** 涵盖安装、配置、高可用性、备份、安全和服务器监控等方面,确保稳定运行和数据安全性。 **6. 工具集** 介绍Web管理工具和命令行工具,方便管理...

    delivery:一个简单的应用程序,它利用HATEOAS和neo4j公开了REST接口,以处理场所之间的路由

    这个简单的应用程序公开了REST接口,利用HATEOAS处理地点之间的路由。 在引擎盖下使用了以下技术: 框架 资料库 建造 先决条件 Java 8 Docker Maven Docker Compose 运行docker compose来启动Redis和Neo4j数据库...

    Neo4j官方开发手册

    2. **REST API**:通过HTTP接口与Neo4j进行交互,适用于无服务器或跨平台的场景。 **九、性能调优** 1. **硬件配置建议**:根据预期负载选择合适的硬件配置。 2. **查询性能监控**:使用内置工具检查和优化查询性能...

    Spring连接图存数据库Neo4j实现增删改查

    1.基于spring-data-neo4j 3.2.0通过REST远程连接Neo4j服务器,并非嵌入式连接; 2.创建接口用于创建一个简单的图存数据库,实现一个中心点到其他十个点的连接; 3.提供删除接口,可删除所有点和边; 4.提供查询...

    neo4j-community-4.1.11-windows.zip

    6. **RESTful API**: Neo4j提供了REST接口,使得其他编程语言可以轻松与数据库交互。 7. **数据导入工具**:Neo4j提供批量导入工具,如`neo4j-import`,用于快速将结构化数据转换为图形数据。 8. **安全性**:...

    Neo4j Java Reference 3.0

    - **服务器扩展(Server Extensions)**:服务器扩展允许在REST API中创建新的接口。这为开发者提供了更多定制化的可能性。 #### 1.1 自定义过程 自定义过程是Neo4j的一种扩展方式,它允许开发者编写Java代码并...

    neo4j-manual-1.7.pdf

    Neo4j手册v1.7 Neo4j是一种图数据库管理系统,用于...Neo4j手册v1.7提供了详细的图数据库管理系统知识点,涵盖了图数据库的概念、Neo4j的嵌入式数据库引擎、REST API接口等方面的内容,是一本非常有价值的参考手册。

    WindowsAPI编程.zip

    4. **消息队列和消息循环**:Windows API使用消息队列来存储待处理的消息,而消息循环则负责不断地检查并处理这些消息。这是Windows应用程序正常运行的关键部分。 5. **窗口类和窗口过程**:窗口类定义了窗口的属性...

    neo4j最全面指南以及springboot+java驱动不用编写复杂语句

    - **REST API**: 提供 REST API 接口,方便不同编程语言调用,如 Java、Spring、Scala 等。 - **UI MVC 框架**: 支持通过 Node.js 等 UI MVC 框架访问 Java 脚本。 - **Java API**: 提供两种 Java API —— Cypher ...

    neo4j-chs-community-4.2.3-windows.zip

    通过图形浏览器或者编程接口(如Java API、REST API),你可以编写Cypher查询来与数据进行交互。 总的来说,Neo4j的中文Windows版本提供了一个用户友好的环境,使得在中国的开发人员和数据分析师能够更加便捷地利用...

    neo4j-operations-manual-4.0_图数据库_neo4j_

    - API接口:通过Java、REST和其他语言的API与Neo4j交互,构建应用程序。 通过这本《图数据库操作手册:深入解析Neo4j 4.0》,无论是初学者还是经验丰富的开发者,都能获得关于Neo4j的全面知识,更好地利用图数据库...

Global site tag (gtag.js) - Google Analytics