当前位置: 首页 > 知识库问答 >
问题:

SDN4 Neo4j基类的继承和索引声明

郜俊晤
2023-03-14

这是我的SDN 4实体:

@NodeEntity
public abstract class BaseEntity {

    @Index(unique = false)
    private Date createDate;

....

}

@NodeEntity
public class Decision extends BaseEntity {  

....

}

这是:模式输出:

Indexes
   ON :BaseEntity(createDate) ONLINE 

我有一个密码查询:

MATCH (d:Decision) WHERE d.createDate={createDate}

AFAIK(Neo4j SDN4实体继承和索引)这样Neo4j索引: BaseEntity(createDate)将不会被使用,因为我试图到达d节点上:决策标签。

在SDN 4中,是否有任何方法通过类继承来定义索引(将CreateDate留在BaseEntity级别),以便能够在标签上使用createDate索引?


共有1个答案

林和煦
2023-03-14

如果查询是派生查找器,那么它与此问题相关。现在解决这个问题的唯一方法是使用自定义的@Query

如果查询是自定义的@query,则只需在查询中使用正确的标签,请注意,您可以使用多个标签:

MATCH (d:Decision:BaseNode) 
WHERE d.createDate={createDate}

规划者应该足够聪明,可以做正确的事情并使用索引,但是您应该使用PROFILE来验证这一点。如果不使用USING INDEX提示:

MATCH (d:Decision:BaseNode) 
USING INDEX d:BaseNode(createDate)
WHERE d.createDate={createDate}
 类似资料:
  • 一个类的对象经常会是另一个类的对象。例如,矩形当然是四边形(正方形、平行四边形和梯形也是这样),因此可以说矩形类 Rectangle 是从四边形类 Quadrilateral 继承而来的。在本例中,类 Quadrilateral 叫做基类,类 Rectangle 称为派生类。矩形是四边形的一种特殊类型,但是要说四边形是矩形则是不正确的。图 9.1 示例了几个简单的继承例子。 基类 派生类 stud

  • 在面向对象的程序设计中,定义一个新的 class 的时候,可以从某个现有的 class 继承,新的 class 称为子类,而被继承的 class 称为基类、父类或超类。 Python 中继承的语法如下: class Parent: pass class Child(Parent): pass 在第 1 行,定义了父类 Parent; 在第 4 行,定义了子类 Child,语法

  • 从已有的对象类型出发建立一种新的对象类型,使它部分或全部继承原对象的特点和功能,这是面向对象设计方法中的基本特性之一。继承不仅简化了程序设计方法,显著提高了软件的重用性,而且还使得软件更加容易维护。派生则是继承的直接产物,它通过继承已有的一个或多个类来产生一个新的类,通过派生可以创建一种类族。   继承 基本概念 在定义一个类A时,若它使用了一个已定义类B的部分或全部成员,则称类A继承了类B,并称

  • 见 映射类继承层次结构 对于这个部分。

  • 我对遗传的理解是相当基础的。

  • 我正在自己学习swift,但我无法让这个代码运行,我正在尝试创建一个类“Inhabitant”,它继承了Person类的一个新的“Country”属性,有两个初始值设定项:-一个接受firstname和lastname,并将Country设置为空String-一个接收firstname,lastname和country,并创建String类型的计算属性描述,该描述返回由空格分隔的名字、姓氏和国家