gqlalchemy.models
TriggerEventType Objects
class TriggerEventType()
An enum representing types of trigger events.
TriggerEventObject Objects
class TriggerEventObject()
An enum representing types of trigger objects.
NODE -> ()
RELATIONSHIP -> -->
TriggerExecutionPhase Objects
class TriggerExecutionPhase()
An enum representing types of trigger objects.
Enum: BEFORE AFTER
MemgraphKafkaStream Objects
class MemgraphKafkaStream(MemgraphStream)
A class for creating and managing Kafka streams in Memgraph.
Arguments:
name
- A string representing the stream name.topics
- A list of strings representing the stream topics.transform
- A string representing the name of the transformation procedure.consumer_group
- A string representing the consumer group.name
- A string representing the batch interval.name
- A string representing the batch size.name
- A string or list of strings representing bootstrap server addresses.
to_cypher
def to_cypher() -> str
Converts Kafka stream to a Cypher clause.
MemgraphPulsarStream Objects
class MemgraphPulsarStream(MemgraphStream)
A class for creating and managing Pulsar streams in Memgraph.
Arguments:
name
- A string representing the stream name.topics
- A list of strings representing the stream topics.transform
- A string representing the name of the transformation procedure.consumer_group
- A string representing the consumer group.name
- A string representing the batch interval.name
- A string representing the batch size.name
- A string or list of strings representing bootstrap server addresses.
to_cypher
def to_cypher() -> str
Converts Pulsar stream to a Cypher clause.
MemgraphTrigger Objects
@dataclass(frozen=True, eq=True)
class MemgraphTrigger()
to_cypher
def to_cypher() -> str
Converts a Trigger to a cypher clause.
GraphObject Objects
class GraphObject(BaseModel)
__init_subclass__
def __init_subclass__(cls,
type=None,
label=None,
labels=None,
index=None,
db=None)
Stores the subclass by type if type is specified, or by class name when instantiating a subclass.
_convert_to_real_type_
@classmethod
def _convert_to_real_type_(cls, data)
Converts the GraphObject class into the appropriate subclass. This is used when deserialising a json representation of the class, or the object returned from the GraphDatabase.
parse_obj
@classmethod
def parse_obj(cls, obj)
Used to convert a dictionary object into the appropriate GraphObject.
NodeMetaclass Objects
class NodeMetaclass(BaseModel.__class__)
__new__
def __new__(mcs, name, bases, namespace, **kwargs)
This creates the class Node
. It also creates all subclasses
of Node
. Whenever a class is defined as a subclass of Node
,
MyMeta.__new__
is called.
Node Objects
class Node(UniqueGraphObject, metaclass=NodeMetaclass)
has_unique_fields
def has_unique_fields() -> bool
Returns True if the Node has any unique fields.
save
def save(db: "Database") -> "Node"
Saves node to Memgraph. If the node._id is not None it fetches the node with the same id from Memgraph and updates it's fields. If the node has unique fields it fetches the nodes with the same unique fields from Memgraph and updates it's fields. Otherwise it creates a new node with the same properties. Null properties are ignored.
load
def load(db: "Database") -> "Node"
Loads a node from Memgraph. If the node._id is not None it fetches the node from Memgraph with that internal id. If the node has unique fields it fetches the node from Memgraph with those unique fields set. Otherwise it tries to find any node in Memgraph that has all properties set to exactly the same values. If no node is found or no properties are set it raises a GQLAlchemyError.
RelationshipMetaclass Objects
class RelationshipMetaclass(BaseModel.__class__)
__new__
def __new__(mcs, name, bases, namespace, **kwargs)
This creates the class Relationship
. It also creates all
subclasses of Relationship
. Whenever a class is defined as a
subclass of Relationship
, self.__new__
is called.
Relationship Objects
class Relationship(UniqueGraphObject, metaclass=RelationshipMetaclass)
save
def save(db: "Database") -> "Relationship"
Saves a relationship to Memgraph.
If relationship._id is not None it finds the relationship in Memgraph
and updates it's properties with the values in relationship
.
If relationship._id is None, it creates a new relationship.
If you want to set a relationship._id instead of creating a new
relationship, use load_relationship
first.
load
def load(db: "Database") -> "Relationship"
Returns a relationship loaded from Memgraph. If the relationship._id is not None it fetches the relationship from Memgraph that has the same internal id. Otherwise it returns the relationship whose relationship._start_node_id and relationship._end_node_id and all relationship properties that are not None match the relationship in Memgraph. If there is no relationship like that in Memgraph, or if there are multiple relationships like that in Memgraph, throws GQLAlchemyError.