gpt4 book ai didi

neo4j - 如何在 java 中使用 Liquigraph 为 Neo4j 商店生成索引和约束脚本?

转载 作者:行者123 更新时间:2023-12-01 04:28:26 26 4
gpt4 key购买 nike

我正在尝试为我的 spring 实体生成 IndexConstraint。我没有使用 spring-data 的任何功能来执行此操作,例如 indexes.auto=assert

如何根据以下条件生成脚本

  1. 我需要在离线 模式下生成脚本。即我无法提供任何 Neo4j服务器、用户、密码等

  2. 我需要用java api来实现。我能够创建 liquigraph 更改日志,但我找不到生成脚本的方法。

我用过的maven依赖是

    <!-- https://mvnrepository.com/artifact/org.liquigraph/liquigraph-core -->
<dependency>
<groupId>org.liquigraph</groupId>
<artifactId>liquigraph-core</artifactId>
<version>3.1.0</version>
</dependency>
  1. 我的输出应该是一个包含这些脚本的文件

    CREATE CONSTRAINT ON ( action:Action ) 断言 action.id 是唯一的

我该怎么做?

最佳答案

如果您将从 Java 运行您的变更集,则不需要将任何凭据放入其中,只需 CYPHER 查询即可。

创建changelog.xml并放入资源。

<?xml version="1.0" encoding="UTF-8"?>
<changelog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.liquigraph.org/schema/1.0/liquigraph.xsd">
<changeset id="action-contraint" author="JITHIN">
<query>CREATE CONSTRAINT ON (action:Action) ASSERT action.id IS UNIQUE</query>
</changeset>
</changelog>

然后您可以从 Java 运行迁移,以及您可以在应用程序中保留的所有凭据。

Configuration configuration = new ConfigurationBuilder()
.withMasterChangelogLocation("changelog.xml")
.withUri("jdbc:neo4j:http://localhost:7474")
.withUsername(user)
.withPassword(pass)
.withRunMode()
.build();

Liquigraph liquigraph = new Liquigraph();
liquigraph.runMigrations(configuration);

执行后应该添加你的约束,至少对我有用

╒══════════════════════════════════════════════════════════════════════╕
│"description" │
╞══════════════════════════════════════════════════════════════════════╡
│"CONSTRAINT ON ( __liquigraphlock:__LiquigraphLock ) ASSERT __liquigra│
│phlock.name IS UNIQUE" │
├──────────────────────────────────────────────────────────────────────┤
│"CONSTRAINT ON ( action:Action ) ASSERT action.id IS UNIQUE" │
└──────────────────────────────────────────────────────────────────────┘

关于neo4j - 如何在 java 中使用 Liquigraph 为 Neo4j 商店生成索引和约束脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56254443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com