我想要删除Neo4j数据库中特殊的“root”节点。
我已经在SO上找到了一些问题/答案,但它们由于不同的原因并不有用。
我们使用一个db:DATABASE节点来存储Neo4j中的租户数据,所有其他节点都与此节点有某种连接。因此,真正的Neo4j根节点仅与这些DATABASE-s连接。这意味着当在租户下创建新节点时,此新节点立即与DATABASE节点建立连接,连接名称为CONTAINS。
以下是DATABASE节点的创建代码:
挑战在于:我们不知道DATABASE节点下的任何节点名称或连接。
已回答的SO问题:
谢谢大家!
我已经在SO上找到了一些问题/答案,但它们由于不同的原因并不有用。
我们使用一个db:DATABASE节点来存储Neo4j中的租户数据,所有其他节点都与此节点有某种连接。因此,真正的Neo4j根节点仅与这些DATABASE-s连接。这意味着当在租户下创建新节点时,此新节点立即与DATABASE节点建立连接,连接名称为CONTAINS。
以下是DATABASE节点的创建代码:
CREATE (db:Database { Name: 'TenantName' } ) " )
我想删除整个租户,也就是删除整个数据库以及连接到数据库节点的所有节点。
如果使用这个简单的Cypher语句删除节点,该节点将被删除,但是所有连接的节点仍将保留在数据库中。
MATCH (db:Database)
WHERE db.Name = 'TeanantName'
DETACH DELETE db
挑战在于:我们不知道DATABASE节点下的任何节点名称或连接。
已回答的SO问题:
- 如何使用Neo4j Cypher查询删除节点及其连接的所有节点? 在这个答案中,我们知道关系的名称“ACTED_IN”,并且假设我们只有与要删除的节点相连的这个关系。
- Neo4j:如何删除节点以及节点之外的所有节点和关系? 在这种情况下,我们知道真实的节点结构,但在我们的情况下,我们不知道。
- Cypher删除节点以及所有相关节点的列表 这假定路径中的每个节点除了路径中的节点外,不再与任何东西相关联,否则它们将无法被移除。这在我们的情况下是不正确的。
- Neo4j如何从某个起始节点递归地删除节点 在这种情况下,整个图结构是已知的。
谢谢大家!