You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Memgraph及GQLAlchemy定义的类中创建属性索引?能否仅创建标签索引?

在Memgraph中创建索引的方法

1. 原生Cypher操作索引

属性索引

  • 单标签单属性索引:执行CREATE INDEX ON :Label(attribute);,例如CREATE INDEX ON :User(email);
  • 单标签多属性复合索引:执行CREATE INDEX ON :Label(attr1, attr2);,例如CREATE INDEX ON :User(name, age);
  • 查看所有索引:SHOW INDEXES;
  • 删除索引:DROP INDEX ON :Label(attribute);

仅Label索引

可以创建只针对标签的索引,不需要指定属性:

CREATE INDEX ON :Label;

比如给User标签创建纯Label索引:CREATE INDEX ON :User;

2. 使用GQLAlchemy为Node/Relationship类创建索引

Node类索引

在定义Node子类时,通过字段参数或类属性指定索引:

from gqlalchemy import Node, Field

class User(Node):
    # 给单个属性加索引(支持unique约束)
    email: str = Field(index=True, unique=True)
    age: int = Field(index=True)
    
    # 定义多属性复合索引
    __indices__ = [
        ("name", "age")
    ]
    
    # 仅创建Label索引
    __label_index__ = True

当你将类与Memgraph数据库建立连接(或调用User.save(db))时,GQLAlchemy会自动在数据库中创建对应的索引。

Relationship类索引

和Node类用法一致,在Relationship子类中标记需要索引的属性:

from gqlalchemy import Relationship, Field

class Follows(Relationship):
    # 单属性索引
    since: int = Field(index=True)
    
    # 复合索引
    __indices__ = [
        ("status", "since")
    ]

内容的提问来源于stack exchange,提问作者MPesi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 18:20:35