How to apply apoc procudures/functions on virtual graphs
What exactly do you want to do?
You can access properties, labels, id's, types of real and virtual nodes with a bunch of apoc functions:
function apoc.node.id apoc.node.id(node :: NODE?) :: (INTEGER?) returns id for (virtual) nodes
function apoc.rel.id apoc.rel.id(rel :: RELATIONSHIP?) :: (INTEGER?) returns id for (virtual) relationships
|function|apoc.any.properties|apoc.any.properties(thing :: ANY?, keys = null :: LIST? OF STRING?) :: (MAP?)|returns properties for virtual and real, nodes, rels and maps|
|function|apoc.any.property|apoc.any.property(thing :: ANY?, key :: STRING?) :: (ANY?)|returns property for virtual and real, nodes, rels and maps|
function apoc.node.labels apoc.node.labels(node :: NODE?) :: (LIST? OF ANY?) returns labels for (virtual) nodes
function apoc.rel.type apoc.rel.type(rel :: RELATIONSHIP?) :: (STRING?) returns type for (virtual) relationships
I have query something like
Match (e:SystemNode{key:'HWD'}) call apoc.path.subgraphAll(e, {relationshipFilter:'SystemForwardLineage>', limit:250}) yield nodes, relationships
CALL apoc.graph.fromData(nodes, relationships, 'testGraph', {}) yield graph with graph ....
// Here i want to perform apoc.path.ExpandConfig on 'testGraph'. is it possible? If so how?
Hmm good point, unfortunately not I think.
But it would be definitely cool to have.
/cc @andrew_bowman
Thank you very much michael.
That's a tough one. The path expanders currently use the Traversal API. I haven't looked at whether it's possible to point the Traversal API at virtual graph elements rather than the graph itself. If it's even possible, it may be a challenge to implement. I may peek at it later.