Если у каждого пользователя БД есть определенная строка access
, и он / она может получить доступ только к узлам / отношениям с одинаковым значением access
, тогда это очень легко отфильтровать для этого.
ДляНапример, чтобы получить все видимые пользователю пути (при условии, что значение access
пользователя передается через $access
параметр ):
MATCH p=(a:Person)-[k:KNOWS]->(b:Person)
WHERE
a.access = $access AND
k.access = $access AND
b.access = $access
RETURN p;
Или, в более общем смысле (новозможно, менее эффективно):
MATCH p= <an arbitrary path expression>
WHERE
ALL(n IN NODES(p) WHERE n.access = $access) AND
ALL(r IN RELATIONSHIPS(p) WHERE r.access = $access)
RETURN p;