EXPLAIN MATCH(m:Movie) WHERE m.title STARTS WITH 'Toy Story' RETURN m.title,m.released
使用了索引
EXPLAIN MATCH(p:Person) WHERE toLower(p.name) ENDS WITH "demille" RETURN p.name
没使用索引,因存在 toLower()
EXPLAIN 提供了查询步骤的估计值
PROFILE 关键字来显示从查询中的图形中检索到的总行数。
主要看执行计划 plan 中的 db hits
PROFILE 提供了为查询检索的确切步骤和行数。
只是查询图形而不更新任何内容,则可以使用 PROFILE
使用多 MATCH 子句
包含两 MATCH 子句
match(a:Person)-[:ACTED_IN]->(m:Movie) where m.year >2000 match(m)<-[:DIRECTED]-(d:Person) return a.name,m.title,d.name
MATCH 子句中使用多个模式
match (a:Person)-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person) where m.year > 2000 return a.name,m.title,d.name
OPTIONAL MATCH 类似于 MATCH 区别在于前者对模式的缺失部分使用空值。
MATCH (m:Movie) WHERE m.title = "Kiss Me Deadly" MATCH (m)-[:IN_GENRE]->(g:Genre)<-[:IN_GENRE]-(rec:Movie) OPTIONAL MATCH (m)<-[:ACTED_IN]-(a:Actor)-[:ACTED_IN]->(rec) RETURN rec.title, a.name
模式理解:用 | 表示关系或语句的并列
MATCH (p:Person)-[ :ACTED_IN | DIRECTED ] ->(m) RETURN p
模式理解是一种非常强大的方法,可以在不改变查询基数的情况下创建列表。它的行为类似于 OPTIONAL MATCH 与 collect() 。
MATCH (m:Movie) WHERE m.year = 2015 RETURN m.title,[(dir:Person)-[:DIRECTED]->(m) | dir.name] AS directors,[(actor:Person)-[:ACTED_IN]->(m) | actor.name] AS actors
返回结果
映射投影以返回数据
自定义对象返回的属性
MATCH(p:Person)WHERE p.name CONTAINS "Thomas" RETURN p {.name,.born} AS person ORDER BY p.name
返回 person 对象及 name 和 born 属性
可自定义属性,如添加属性,favorite : true
match (m:Movie)<-[:DIRECTED]-(d:Director) where d.name='Woody Allen' return m {.title,favorite:true} as movie
更改返回的数据
添加或合并属性值用 + 号(类似Oracle的 || )
match(m:Movie)<-[:ACTED_IN]-(p:Person) where m.title contains 'Toy Story' and p.died is null return 'Movie:'+ m.title as movie
有条件返回数据
CASE WHEN...THEN...ELSE...END
返回列表
match(p:Person) return p.name,[p.born,p.died] as lifeTime limit 10
一、在任意文件夹中创建一个新的文本文档文件并写入以下代码 public class Hello{public static void main (String[] args){System.out.print("Hello,World!");}
} 二、修改文件名称及文件类型为 Hello.java
特别注意:文件命名必须与代码中类的名称相同…