2012-06-19 3 views
3

Я новичок в базе данных Neo4j. Я искал графическую базу данных и нашел neo4j интересным. Я хотел знать, можно ли запросить базу данных Neo4j в стиле реляционных баз данных. Позвольте мне объяснить себя примеромЗапрос базы данных диаграмм Neo4j

У меня есть база данных всех студентов в классе. Узлы базы данных содержат информацию о студентах, а отношения - это «дружба». Каждый узел имеет такие свойства, как имя ученика, класс и cgpa. Теперь я хочу получить список всех студентов, чья cgpa> 4. Возможно ли это сделать в Neo4j в одном запросе? Или мне нужно найти все узлы, а затем манипулировать ими?

Было бы очень полезно, если бы кто-нибудь мог указать на хороший ресурс для запросов neo4j.

ответ

2

Я всегда работал с Neo4j docs. Если вы используете Spring Data Neo4j, бесплатная книга Good Relationships также может помочь.

Существует язык запросов Cypher. Есть даже некоторые примеры в документации, которая может поместиться очень хорошо к вашему делу [1]:

start n=(2, 1) where n.age < 30 return n 

Это один начинается от заданных узлов с идентификатором 2 и 1 и возвращает их, если их возраст свойство ниже 30. start n=(*) бы сделайте это для каждого узла. Вы должны прочитать все спецификации.

В зависимости от того, что вы делаете и как вы хотите найти определенные узлы, вы можете использовать indices.

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

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