Restriction on Global Edge Types Added To Graphs Through Global SCHEMA_CHANGE jobs

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.

Screen Shot 2022-03-29 at 12.41.23 PM

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?