`
hugh.wangp
  • 浏览: 293003 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Neo4j-Cypher查询语言-参数

阅读更多
Cypher支持带参数的查询,它允许开发者不需要do string building to create a query,同时它能使执行计划的缓存更容易。
 
参数可以用在WHERE子句的literals和expressions、可以用在START子句或索引查询的索引键值上、节点/关系的ID上。但是参数不能用在属性名上,因为属性是查询结构的一部分,是要编译成执行计划的。
 
参数名称只能是字母和数字的组合
 
如下是在JAVA中使用参数的几个例子:
节点ID参数
1
2
3
Map<String, Object> params = new HashMap<String, Object>();
params.put( "id", 0 );
ExecutionResult result = 
engine.execute("start n=node({id}) return n.name", params );
 
节点对象参数
1
2
3
Map<String, Object> params = new HashMap<String, Object>();
params.put( "node", andreasNode );
ExecutionResult result = 
engine.execute("start n=node({node}) return n.name", params );
 
多节点ID参数
1
2
3
Map<String, Object> params = new HashMap<String, Object>();
params.put( "id", Arrays.asList( 0, 1, 2 ) );
ExecutionResult result = 
engine.execute("start n=node({id}) return n.name", params );
字符串参数
1
2
3
4
Map<String, Object> params = new HashMap<String, Object>();
params.put( "name", "Johan" );
ExecutionResult result =
engine.execute("start n=node(0,1,2) where n.name = {name} return n", params );
索引键值参数
1
2
3
4
5
Map<String, Object> params = new HashMap<String, Object>();
params.put( "key""name" );
params.put( "value""Michaela" );
ExecutionResult result =
 engine.execute("start n=node:people({key} = {value}) return n", params );
 
索引查询参数
1
2
3
Map<String, Object> params = new HashMap<String, Object>();
params.put( "query""name:Andreas" );
ExecutionResult result = 
engine.execute("start n=node:people({query}) return n", params );
 
SKIP和LIMIT的数字参数
1
2
3
4
5
Map<String, Object> params = new HashMap<String, Object>();
params.put( "s", 1 );
params.put( "l", 1 );
ExecutionResult result =
 engine.execute("start n=node(0,1,2) return n.name skip {s} limit {l}", params );
 
正则表达式参数
1
2
3
4
Map<String, Object> params = new HashMap<String, Object>();
params.put( "regex", ".*h.*" );
ExecutionResult result =
engine.execute("start n=node(0,1,2) where n.name =~ {regex} return n.name"
  , params);
分享到:
评论

相关推荐

    Neo4j-Cypher-Quick-Reference

    **Neo4j-Cypher-Quick-Reference** 是一套针对新手的快速入门参考资料,它主要聚焦于使用 **Cypher** 查询语言在 **Neo4j** 图数据库中的操作。Cypher 是一种声明式图形查询语言,设计简洁易读,非常适合处理复杂的...

    neo4j-community-5.11.0-windows.zip

    3. **neo4j-cypher-logical-plans-5.11.0.jar**:Cypher是Neo4j的图形查询语言,用于查询和操作图形数据。此文件包含了逻辑计划解析器,是执行Cypher查询的核心部分。 4. **neo4j.conf**:这是Neo4j的主配置文件,...

    neo4j-community-4.4.25-windows

    这些文件共同构成了Neo4j在Windows上的运行环境,用户可以下载解压后,通过`neo4j.bat`启动服务,并利用Cypher查询语言来操作图形数据库。在实际应用中,用户可能还需要配置`conf/neo4j.conf`文件以满足特定的性能和...

    neo4j-cypher-refcard-2.1.4

    Neo4j是一个领先的图形数据库系统,而Cypher是Neo4j的声明式查询语言,用于图形数据库中的数据操作。Cypher设计用于直观地表达图形数据的模式,并高效地处理图形结构的查询。通过Cypher,开发者可以使用简明的语法来...

    neo4j-community-3.5.19-windows.rar

    在Neo4J中,Cypher是一种声明式查询语言,类似于SQL,但专门用于图形数据。用户可以通过Cypher创建、删除、查询节点和关系,以及更新属性。例如,创建一个新节点的语句是`CREATE (n:Label {prop1: 'value1', prop2: ...

    neo4j-community-4.0.4-windows.zip

    Neo4j社区版是官方提供的免费版本,它包含了完整的数据库引擎,支持Cypher查询语言。Cypher是一种声明式图形查询语言,语法简洁且直观,使得开发者能够轻松地进行数据查询、更新和操作。例如,你可以用Cypher找到两...

    neo4j-community-3.5.5-unix.tar.gz

    2. 功能特性:虽然社区版相对于企业版功能有限,但依然包含了许多核心功能,如ACID事务、Cypher查询语言、高速图形遍历等。 三、安装与配置 1. 解压安装:将"neo4j-community-3.5.5-unix.tar.gz"在Linux环境中解压...

    neo4j-community-3.5.31-windows

    2. **Cypher查询语言**:Cypher是一种声明式、图形化的查询语言,类似于SQL,但专为图形数据设计。它允许用户以直观的方式查询和更新数据,如查找特定节点间的路径或修改节点属性。 3. **ACID事务**:Neo4j 支持强...

    neo4j-community-3.5.5

    4. **插件**:可能包含一些预装的插件,如Cypher查询语言的扩展或自定义函数。 5. **bin目录**:包含启动、停止和管理Neo4j服务的脚本。 6. **许可证文件**:提供有关软件使用的法律条款。 7. **文档**:用户手册、...

    neo4j-community-3.5.5-windows.zip

    Neo4j 支持 Cypher,一种声明式的查询语言,用于创建、读取、更新和删除图数据。Cypher 的语法简洁易懂,使得查询和操作图形数据变得直观。 此外,Neo4j 还提供了一个强大的图形化界面——Neo4j Browser,通过这个...

    neo4j-community-3.4.1-windows.zip

    在知识图谱领域,Neo4j因其强大的图模型和Cypher查询语言而受到青睐。Cypher是一种声明式查询语言,类似于SQL但更适合处理图形数据。例如,你可以用Cypher来查找两个实体之间的最短路径、提取特定模式或者更新节点和...

    neo4j-community-3.5.26-unix.tar.gz

    3.5.x系列版本支持Cypher查询语言,这是一种强大的、声明式的语句,用于读写图形数据。此外,它还提供了ACID事务,保证数据一致性。对于开发者来说,Neo4j还提供了丰富的API,如Java、Python、JavaScript等,便于...

    neo4j-community-3.5.12.zip

    2. **Neo4j 特性**:Neo4j 支持 ACID(原子性、一致性、隔离性和持久性)事务,提供 Cypher 查询语言,这是一种简洁易读的图查询语言,专为操作和查询图数据设计。 3. **Cypher 查询语言**:Cypher 是 Neo4j 的主要...

    neo4j-community-4.3.15

    2. **Cypher 查询语言**:Neo4j 使用 Cypher,一种声明式、易于理解的查询语言,用于查询和操作数据库。Cypher 的语法简洁,类似于 SQL,但更适应图形数据模型,可以轻松地进行节点查找、关系匹配和数据更新。 3. *...

    Mac neo4j-community-4.2.3-unix.tar.gz

    为了充分利用Neo4j,用户需要了解Cypher查询语言,它是Neo4j的图形数据查询语法,允许创建、查询、更新和删除图中的节点、关系和属性。此外,了解如何使用官方提供的各类工具(如Neo4j Desktop或Neo4j Bloom)可以...

    neo4j-community-3.4.9-windows.zip

    **Neo4j社区版3.4.9在Windows上的安装与使用** Neo4j是一款流行的图形数据库管理系统,尤其适用于...通过理解并掌握其安装、配置、Cypher查询语言以及数据管理技巧,开发者能够充分利用其优势解决复杂的数据关联问题。

    neo4j-chs-community-3.5.15-unix.tar.gz

    4. **访问Web界面**:默认情况下,Neo4j的Web管理界面(Cypher查询语言执行和监控)可以通过浏览器访问`http://localhost:7474`。 在使用Neo4j时,Cypher是一种声明式的图查询语言,类似于SQL,但专为图形数据设计...

    kettle-neo4j-cypher-output:使用带有参数的Cypher将数据输出到Neo4j

    标题 "kettle-neo4j-cypher-output" 指的是一个Kettle插件,该插件专门设计用于将数据从Kettle转换流程中输出到Neo4j图形数据库,利用Cypher查询语言来创建、更新或操作节点和关系。Cypher是Neo4j所采用的声明式图形...

    neo4j-community-4.0.6-windows.zip

    1. **Cypher查询语言优化**:Cypher是一种声明式、图形友好的查询语言,4.0.6版本对它进行了性能优化,使得查询速度更快。 2. **ACID事务支持**:Neo4j支持原子性、一致性、隔离性和持久性,确保了数据的完整性和...

    neo4j-community-3.1.2-unix.tar.gz

    Neo4j支持Cypher查询语言,这是一种声明式的查询语言,用于创建、读取、更新和删除图数据。 "neo4j-community-3.1.2"是具体版本号,表示这是Neo4j的3.1.2社区版本。每个版本都可能包含性能改进、新功能和修复的错误...

Global site tag (gtag.js) - Google Analytics