In OpenGIN/opengin/core-api/engine/graph_metadata_manager.go, createAttributeLookUpGraph , the following code declares the relationship,
// the relationships map needs a unique key for each relationship
// since the attribute id and the name of the attribute is unique for each attribute
// among all entities, we can use this to form a unique key for the relationship
relationshipId := GenerateAttributeRelationshipID()
parentNode := &pb.Entity{
Id: metadata.EntityID,
Metadata: make(map[string]*anypb.Any),
Attributes: make(map[string]*pb.TimeBasedValueList),
Relationships: map[string]*pb.Relationship{
relationshipId: MakeRelationshipFromAttributeMetadata(metadata),
},
}
A unique relationshipId is genarated as the key, however, within MakeRelationshipFromAttributeMetadata (in the same file), another unique id is generated for the relationship id again,
// MakeRelationshipProto creates a Relationship protobuf object for IS_ATTRIBUTE relationship
func MakeRelationshipFromAttributeMetadata(metadata *AttributeMetadata) *pb.Relationship {
var endTime string
if metadata.EndTime != nil {
endTime = metadata.EndTime.Format(time.RFC3339)
}
return &pb.Relationship{
Id: GenerateAttributeRelationshipID(),
RelatedEntityId: metadata.AttributeID,
Name: IS_ATTRIBUTE_RELATIONSHIP,
StartTime: metadata.Created.Format(time.RFC3339),
EndTime: endTime,
Direction: IS_ATTRIBUTE_RELATIONSHIP_DIRECTION,
}
}
This causes a mismatch, check if this affects anything.
In
OpenGIN/opengin/core-api/engine/graph_metadata_manager.go,createAttributeLookUpGraph, the following code declares the relationship,A unique relationshipId is genarated as the key, however, within MakeRelationshipFromAttributeMetadata (in the same file), another unique id is generated for the relationship id again,
This causes a mismatch, check if this affects anything.