There is an APOC Procedure called apoc.meta.data
. APOC documentation about this procedure says:
apoc.meta.data
: examines a subset of the graph to provide a tabular meta information.
call apoc.meta.data();
produces:
╒═════════╤══════════╤═══════╤════════╤═══════╤═══════════╤═════════╤═══════╤════════╤═══════════╤════════════╤══════╤═══════╤═══════╤═════════════╤═════════════╕
│"label" │"property"│"count"│"unique"│"index"│"existence"│"type" │"array"│"sample"│"leftCount"│"rightCount"│"left"│"right"│"other"│"otherLabels"│"elementType"│
╞═════════╪══════════╪═══════╪════════╪═══════╪═══════════╪═════════╪═══════╪════════╪═══════════╪════════════╪══════╪═══════╪═══════╪═════════════╪═════════════╡
│"User" │"age" │0 │false │false │false │"INTEGER"│false │null │0 │0 │0 │0 │[] │[] │"node" │
├─────────┼──────────┼───────┼────────┼───────┼───────────┼─────────┼───────┼────────┼───────────┼────────────┼──────┼───────┼───────┼─────────────┼─────────────┤
│"Product"│"name" │0 │false │false │false │"STRING" │false │null │0 │0 │0 │0 │[] │[] │"node" │
├─────────┼──────────┼───────┼────────┼───────┼───────────┼─────────┼───────┼────────┼───────────┼────────────┼──────┼───────┼───────┼─────────────┼─────────────┤
│"Product"│"price" │0 │false │false │false │"STRING" │false │null │0 │0 │0 │0 │[] │[] │"node" │
├─────────┼──────────┼───────┼────────┼───────┼───────────┼─────────┼───────┼────────┼───────────┼────────────┼──────┼───────┼───────┼─────────────┼─────────────┤
│"Product"│"color" │0 │false │false │false │"STRING" │false │null │0 │0 │0 │0 │[] │[] │"node" │
└─────────┴──────────┴───────┴────────┴───────┴───────────┴─────────┴───────┴────────┴───────────┴────────────┴──────┴───────┴───────┴─────────────┴─────────────┘
One way to filter is doing something like:
call apoc.meta.data() yield label, property
with ['Product', 'OtherLabel'] as labels, property, label where label in labels
return property, label
The above query returns results for Product
and OtherLabel
labels.