On the 3.5.0 version of TigerGraph and I’m noticing that there seems to be some restrictions on adding global edge types that contain more than one TO/FROM pair. The schema change job I wrote is accepted, but returns with the following error:
Multiple FROM or TO vertex types cannot be specified within an edge pair Global schema change failed, nothing changed.
Interestingly enough this seems to also be an issue trying to perform through TigerGraph Studio as well.
Is there a restriction for global edge objects with more than one TO/FROM pair?
@rpguidr Just looking to confirm you’re attempting to do this:
ALTER EDGE .. ADD PAIR
ALTER EDGE ... ADD PAIR
adds one or more edge pairs, which refer to the FROM
and TO
vertex types of an edge type. To add an edge pair, put the vertex type names in parentheses after keywords FROM
and TO
.
Syntax
ALTER EDGE edgeType ADD PAIR
"(" FROM vertexType, TO vertexType (| FROM vertexType, TO vertexType)* ")”
Example
In the example below, the first statement in the schema change job will add an edge pair (FROM person, TO company
) to the edge type visit
. The second example adds two edge pairs to the edge type has_pet
; the edge type can now connect both person
and dog
vertices, as well as person
and bird
vertices.
CREATE GLOBAL SCHEMA_CHANGE JOB job2 FOR GRAPH example_graph {
ALTER EDGE visit ADD PAIR (FROM person, TO company);
ALTER EDGE has_pet ADD PAIR (FROM person, TO dog | FROM person, TO bird);
}
Not quite. So what you’ve posted is how I could alter an existing edge to add new pair definitions to the actual underlying global schema.
My question is in regards to adding that new Multiple Pair Edge Global object to an existing graph. Basically I was encountering issues of trying to add something like the “has_pet” edge to an already existing graph. Are there caveats to that, for example if Person, Dog and Bird were all global objects and I created a graph, how do I add “has_pet” after the graph has been created. Are there restrictions? What if my subgraph has only Person and Dog? Can that edge be added?