Neo4j。如何将附加参数存储到已保存的实体中?
Neo4j. How to store additional parameters to entity already saved?
我需要为 Device\Software
从 Entity
到 Entity
使用不同的参数。
Device\Software
将存储在数据库中,一旦创建了新的 Entity
- 它将与一些已经存储的 Device\Software
建立关系,但它们的参数可能因不同的 Entities
而异(参数的数量或它们的值)。
我试图在图表的边缘直接保存额外的参数(在 Entity
和 Device\Software
之间的 RelationshipEntity
中),但似乎它可能会在实现某些网络时增加复杂性比较算法。
有没有人遇到过类似的情况?什么是最好的practice\approach?
@NodeEntity
public class Entity {
@GraphId
protected Long id;
protected String title;
/**
* More fields here
*/
@Fetch
@RelatedTo(direction = Direction.BOTH, type = "has_devices")
protected Set<Device> devices = new HashSet<>();
@Fetch
@RelatedTo(direction = Direction.BOTH, type = "has_software")
protected Set<Software> software = new HashSet<>();
}
@NodeEntity
public class Device {
@GraphId
protected Long id;
protected String identifier;
/**
* More fields here
*/
@Fetch
@RelatedTo(direction = Direction.BOTH, type = "has_parameter")
protected Collection<ParameterEntity> parameter = new HashSet<>();
}
@NodeEntity
public class Software {
@GraphId
protected Long id;
protected String identifier;
/**
* More fields here
*/
@Fetch
@RelatedTo(direction = Direction.BOTH, type = "has_parameter")
protected Collection<ParameterEntity> parameter = new HashSet<>();
}
ParameterEntity
只是 Key-Value 对象。
不太确定参数是什么意思。但是将他们保存在关系中应该会起作用。如果不需要,可以忽略算法中的参数。
这真的取决于你的参数是只是量化关系,还是它们本身就是真实的实体。
我需要为 Device\Software
从 Entity
到 Entity
使用不同的参数。
Device\Software
将存储在数据库中,一旦创建了新的 Entity
- 它将与一些已经存储的 Device\Software
建立关系,但它们的参数可能因不同的 Entities
而异(参数的数量或它们的值)。
我试图在图表的边缘直接保存额外的参数(在 Entity
和 Device\Software
之间的 RelationshipEntity
中),但似乎它可能会在实现某些网络时增加复杂性比较算法。
有没有人遇到过类似的情况?什么是最好的practice\approach?
@NodeEntity
public class Entity {
@GraphId
protected Long id;
protected String title;
/**
* More fields here
*/
@Fetch
@RelatedTo(direction = Direction.BOTH, type = "has_devices")
protected Set<Device> devices = new HashSet<>();
@Fetch
@RelatedTo(direction = Direction.BOTH, type = "has_software")
protected Set<Software> software = new HashSet<>();
}
@NodeEntity
public class Device {
@GraphId
protected Long id;
protected String identifier;
/**
* More fields here
*/
@Fetch
@RelatedTo(direction = Direction.BOTH, type = "has_parameter")
protected Collection<ParameterEntity> parameter = new HashSet<>();
}
@NodeEntity
public class Software {
@GraphId
protected Long id;
protected String identifier;
/**
* More fields here
*/
@Fetch
@RelatedTo(direction = Direction.BOTH, type = "has_parameter")
protected Collection<ParameterEntity> parameter = new HashSet<>();
}
ParameterEntity
只是 Key-Value 对象。
不太确定参数是什么意思。但是将他们保存在关系中应该会起作用。如果不需要,可以忽略算法中的参数。
这真的取决于你的参数是只是量化关系,还是它们本身就是真实的实体。