Neo4j是一个开源的图形数据库,它可以帮助用户快速建立和管理复杂的关系数据。它可以帮助用户创建、存储、查询和分析复杂的关系数据,并且可以轻松地将这些数据转化为有用的信息。
要打开Neo4j,首先需要在本地计算机上安装Neo4j。安装Neo4j之后,可以使用命令行工具neo4j-admin来启动Neo4j服务器。
neo4j-admin start
运行上述命令后,会看到如下信息:
Starting Neo4j. Directories in use: home: /usr/local/Cellar/neo4j/3.5.14/libexec config: /usr/local/Cellar/neo4j/3.5.14/libexec/conf logs: /usr/local/Cellar/neo4j/3.5.14/libexec/logs plugins: /usr/local/Cellar/neo4j/3.5.14/libexec//plugins import: /usr/localNeo4j CQL - WHERE子句
像SQL一样,Neo4j CQL在CQL MATCH命令中提供了WHERE子句来过滤MATCH查询的结果。
简单WHERE子句语法
WHERE <condition>
复杂WHERE子句语法
WHERE <condition> <boolean-operator> <condition>我们可以使用布尔运算符在同一命令上放置多个条件。 请参考下一节,了解Neo4j CQL中可用的布尔运算符。
<condition>语法:
<property-name> <comparison-operator> <value>
语法说明:
S.No. 语法元素 描述 1 WHERE 它是一个Neo4j CQL关键字。 2 <property-name>
<属性名称>它是节点或关系的属性名称。 3 <comparison-operator>
<比较运算符>它是Neo4j CQL比较运算符之一。请参考下一节查看Neo4j CQL中可用的比较运算符。 4 <value>
<值>它是一个字面值,如数字文字,字符串文字等。
Neo4j CQL中的布尔运算符
Neo4j支持以下布尔运算符在Neo4j CQL WHERE子句中使用以支持多个条件。
S.No. 布尔运算符 描述 1 AND 它是一个支持AND操作的Neo4j CQL关键字。 2 OR 它是一个Neo4j CQL关键字来支持OR操作。 3 NOT 它是一个Neo4j CQL关键字支持NOT操作。 4 XOR 它是一个支持XOR操作的Neo4j CQL关键字。
Neo4j CQL中的比较运算符
Neo4j 支持以下的比较运算符,在 Neo4j CQL WHERE 子句中使用来支持条件。
S.No. 布尔运算符 描述 1. = 它是Neo4j CQL“等于”运算符。 2. <> 它是一个Neo4j CQL“不等于”运算符。 3. < 它是一个Neo4j CQL“小于”运算符。 4. > 它是一个Neo4j CQL“大于”运算符。 5. <= 它是一个Neo4j CQL“小于或等于”运算符。 6. >= 它是一个Neo4j CQL“大于或等于”运算符。 例如:
此示例演示如何在MATCH Command中使用CQL WHERE子句根据员工名称检索员工详细信息。
步骤1 -打开Neo4j数据浏览器
这是Neo4j数据浏览器主页
步骤2 -在数据浏览器上键入以下命令
MATCH (emp:Employee) RETURN emp.empid,emp.name,emp.salary,emp.deptno
步骤3 -点击“执行”按钮并观察结果。
如果我们观察结果,它返回4个员工节点详细信息。
步骤4 -在数据浏览器上键入以下命令
MATCH (emp:Employee) WHERE emp.name = "Abc" RETURN emp
步骤5 -点击“执行”按钮并观察结果。
使用“网格视图”查看节点详细信息。如果我们观察结果,它只返回一个名为“Abc”的员工详细信息。
例如:
此示例演示如何在MATCH Command中的CQL WHERE子句中使用多个条件与布尔运算符,以根据员工名称检索员工详细信息。
步骤1 -打开Neo4j数据浏览器
步骤2 -在数据浏览器上键入以下命令
MATCH (emp:Employee) RETURN emp.empid,emp.name,emp.salary,emp.deptno
步骤3 -点击“执行”按钮并观察结果。
如果我们观察结果,它返回4个员工节点详细信息。
步骤4 -在数据浏览器上键入以下命令
MATCH (emp:Employee) WHERE emp.name = "Abc" OR emp.name = "Xyz" RETURN emp
步骤5-点击“执行”按钮并观察结果。
使用“网格视图”查看节点详细信息。如果我们观察到结果,它只返回两个名为“Abc”或“Xyz”的员工详细信息。
使用WHERE子句创建关系
在Neo4J CQL中,我们可以以不同的方式创建拖曳节点之间的关系。
创建两个现有节点之间的关系
一次创建两个节点和它们之间的关系
使用WHERE子句创建两个现有节点之间的关系
我们已经讨论了前两章中的前两种方法。 现在我们将在本章中讨论“使用WHERE子句创建两个现有节点之间的关系”。
语法
MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>) WHERE <condition> CREATE (<node1-label-name>)-[<relationship-label-name>:<relationship-name> {<relationship-properties>}]->(<node2-label-name>)
语法说明:
S.No. 语法元素 描述 1 MATCH,WHERE,CREATE 他们是Neo4J CQL关键字。 2 <node1-label-name> 它是一个用于创建关系的节点一标签名称。 3 <node1-name> 它是一个用于创建关系的节点名称。 4 <node2-label-name> 它是一个用于创建关系的节点一标签名称。 5 <node2-name> 它是一个用于创建关系的节点名称。 6 <condition> 它是一个Neo4J CQL WHERE子句条件。 它可以是简单的或复杂的。 7 <relationship-label-name> 这是新创建的节点一和节点二之间的关系的标签名称。 8 <relationship-name> 这是新创建的节点1和节点2之间的关系的名称。 9 <relationship-properties> 这是一个新创建节点一和节点二之间关系的属性列表(键 - 值对)。
例如:
此示例演示如何使用WHERE子句创建两个现有节点之间的关系。
步骤1 -打开Neo4J数据浏览器
步骤2 -在数据浏览器上键入以下命令,以验证我们的Neo4J数据库中是否存在所需的客户节点。
MATCH (cust:Customer) RETURN cust.id,cust.name,cust.dob
步骤3 -点击“执行”按钮并观察结果。
如果我们观察结果,它表明我们所需的客户节点在我们的Neo4J数据库中可用。
步骤4 -在数据浏览器上键入以下命令,验证我们的Neo4J数据库中是否存在所需的CreditCard节点。
MATCH (cc:CreditCard) RETURN cc.id,cc.number,cc.expiredate,cc.cvv
步骤5 -点击“执行”按钮并观察结果。
如果我们观察结果,它表明我们所需的CreditCard节点在我们的Neo4J数据库中可用。
步骤6 -在数据浏览器上键入以下命令以创建客户和CreditCard节点之间的关系。
MATCH (cust:Customer),(cc:CreditCard) WHERE cust.id = "1001" AND cc.id= "5001" CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc) RETURN r步骤7 -点击“执行”按钮并观察结果。
单击关系并在单独的窗口中观察其属性
现在我们通过使用Neo4J CQL WHERE子句在两个现有节点之间创建了一个NEW关系。
DStreams上的输出操作输出操作允许DStream的操作推到如数据库、文件系统等外部系统中。因为输出操作实际上是允许外部系统消费转...
环境配置在Java程序中如果要使用MongoDB,你需要确保已经安装了Java环境及MongoDB JDBC 驱动。你可以参考本站的Java教程来安装Ja...
在尝试运行MariaDB之前,首先确定其当前状态,运行或关闭。 有三个选项用于启动和停止MariaDB - 运行mysqld(MariaDB脚本)。 运...
Redis Hmset 命令Redis 哈希(Hash) Redis Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。此命令会覆盖哈希...