Javascript

const CREATE_PROCESS_INSTANCE = gql` mutationCreateProcessInstance($label: String!) { CreateProcessInstance(label: $label) { id label } 
} `; 

const ADD_PROCESS_INSTANCE_INSTANCE_OF = gql` mutationAddProcessInstanceInstanceOf( $from: _ProcessInstanceInput! $to: _ProcessInput! ) { 
 AddProcessInstanceInstanceOf(from: $from, to: $to) { 
from { label } to { label } 
} 
} `;

Cypher query

MATCH 
(process:Process {id: 'inv-ordering-prcs'})-[:hasInitState]->(initState) 
CREATE (processInstance:ProcessInstance {id: 'xxx', label: '$label'}) 
CREATE (initStateInstance:StateInstance {label: 'new-request', description: '$description'}) 
CREATE (processInstance)-[:instanceOf]->(process) 
CREATE (initStateInstance)-[:instanceOf]->(initState) 
CREATE (processInstance)-[:hasInitStateInstance]->(initStateInstance) 
CREATE (processInstance)-[:currentStateInstance]->(initStateInstance) 
return processInstance
On your JavaScript file..
const CREATE_PROCESS_INSTANCE = gql` mutation CreateProcessInstance($label: String!, instanceOf: ID!, description: String!) { CreateProcessInstance(label: $label, instanceOf: $instanceOf, description: $description) { id label } } `;