cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Can i apply apoc procudures/functions on virtual graphs? If so, please explain with an example

How to apply apoc procudures/functions on virtual graphs

5 REPLIES 5

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

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.

Thank you very much michael.