2014-10-05 2 views
0

Я хочу сохранить узловые идентификаторы в узле с целью кэширования (соображения производительности - я использую связанный список, который может замедлить некоторые операции вниз).Neo4j - использовать свойство, чтобы начать матч (REST, рельсы, Neo4j 1,98)

Так что-то вроде

start n=node(1432), author=node(n.author_id) 
match author-[:WROTE]-book 
return book 

Или что-то вроде

start n=node(1432) 
with n.author_id match node(n.author_id)-[:WROTE]-book 
return book 

Теперь, это может быть неортодоксальные, но опять же, я просто кэшировать последний идентификатор записи пользователя в систему. Когда есть сотни или тысячи отношений, просто узнать, с какого узла следует начинать, а не обходить их, чтобы найти узел для начала.

я мог бы использовать параметры, но я использую отдых и не хочу, чтобы сделать 100 Остальные звонки вернуть 100 самые последние записи. Я бы предпочел, чтобы Сайфер решал все это за одну поездку.

Возможно ли это?

ответ

0

Полагаясь на узел идентификаторах знать, что они могут быть отозваны, когда узлы будут удалены.

В Neo4j 2.1 должно работать:

START n=node(1432) 
WITH n 
MATCH (other)-[:WROTE]->(book) 
WHERE id(other)=n.author_id 
RETURN book 
+0

Спасибо - пытаясь избежать использования «где» поскольку свойства являются гражданами второго сорта в нео. –

Смежные вопросы