2

我刚刚安装了 Neo4J,运行良好。我正在寻找一个非常简单的教程(实际上很少有命令行),我将能够:

  1. 创建一些数据(至少2个节点和它们之间的一种关系);
  2. 查询和查看最近创建的数据;
  3. 更新此样本数据的属性;
  4. 删除创建的数据;示例代码可以在 Cypher 和/或 Gremlin 中,以在默认空数据库中的 Web 管理控制台中运行。

我在官方网站上看了很多,它的文档、书籍和教程,它们似乎都很复杂:有些甚至驱使我创建一个 Java 应用程序(我什至不使用 Java)。就像一个 SQL 初学者一样,我想测试最基本的数据库操作,从最基本的界面,管理面板。不明白为什么,这个帖子因为没有建设性而被关闭(!?)。

提前感谢一堆。

4

3 回答 3

3
CREATE ( blagus  { firstname: 'Alexander', lastname: 'Blagus'} )

CREATE (celso  { firstname: 'Celso', lastname: 'Oliveira'}), (celso) - [r:WORKS_WITH] - > (blagus)

return blagus, celso, r

在此示例中,有 2 个不同的查询,第一个查询创建一个具有 2 个属性的节点。第二个做与第一个完全相同的事情,并创建从 celso 到 blagus 的关系

START n=node(*) RETURN "The number of nodes in your graph is "+count(*)+" !" as total;

返回一个名为 total 的变量,其值为 'The number of nodes in your graph is 2!',它与 select count(*) 基本相同

START me=node(1) MATCH me<--friend
RETURN friend

假设我们使用这个简单的数据库作为示例,这将返回节点 celso 考虑关系的方向

  START n=node(*)
    MATCH n
    WHERE n.firstname! ='Alexander'
    RETURN n

此查询匹配属性 firstname 等于 Alexander 的所有节点。请注意“!” 符号确保只考虑具有此类属性的节点,从而防止错误。

START n=node(*)
MATCH n
WHERE n.firstname! ='Alexander'
SET n.age = '34'
RETURN n

此查询匹配具有属性 firstname Alexander 的节点,并添加另一个属性值为“34”的属性“age”

START n = node(*)
MATCH n WHERE n.firstname! = "Geraldo" DELETE n

此查询匹配名字等于“Geraldo”的所有节点并删除它们。

START n = node(*)
MATCH n-[r]-()
DELETE n, r

此命令获取所有节点和关系并将其删除。

希望能帮助到你!

于 2013-08-15T23:17:11.613 回答
2

一个非常简短的版本是:

create ({name:"alice"})-[:likes]->({name:"bob"});

match n-[r]->m return n,r,m;

match alice where alice.name! = 'alice' set alice.lastname='Alison';

match alice where alice.lastname! = 'Alison' return alice;

match n-[r]->m delete r,n,m;

这都是使用neo4j 2.0.0M3的语法。

有免费的图形数据库书,其中包含对密码的很好的介绍。书中印刷的示例并非开箱即用。我已经在网上发布了工作示例。当然,neo4j 网站上还有更多内容

于 2013-08-04T12:48:17.927 回答
1

这里有很多很棒的资源——尤其是免费的书。没用过,但它看起来可能会有所帮助 - 基本上是通过修复损坏的测试来学习 Neo4j:Neo4j-tutorial

于 2013-08-03T05:41:21.610 回答