Неография: Обход против Сайфера

Сейчас я что-то строю с помощью Neo4j и Neography, и мне было интересно, что предпочтительнее: использовать метод обхода или запрос Cypher?

Лично мне нравится Cypher, но я понятия не имею, что лучше / эффективнее

3 ответа

Решение

Сайфер действительно интуитивен, как указал Матиас, однако у меня есть следующая рекомендация:

Если это тривиальный материал, иди Cypher, его легче написать (на самом деле радость), и не должно быть никакого большого снижения производительности. Однако, если у вас есть более крупные совпадения или условные запросы, знание области вашего графика может значительно повысить производительность, если вы используете пользовательские траверс или даже Gremlin.

Я только что создал тест для запросов друга друга для Cypher vs Core API и Traverser Framework на графике с 1 миллионами узлов. Запросы FOAF не очень сложны, но являются хорошим вариантом использования для баз данных графиков, таких как neo4j.

http://www.rene-pickhardt.de/get-the-full-neo4j-power-by-using-the-core-java-api-for-traversing-your-graph-data-base-instead-of-cypher-query-language/

Cypher работает медленнее по крайней мере на один порядок

Вы можете видеть, что Cypher работает намного хуже, чем основной API.

Я уверен, что у них обоих есть свои плюсы, и Cypher, вероятно, уже более интуитивно понятен в выражении ваших запросов. Попробуйте сформировать свои запросы с помощью Cypher, если вам это нравится и если производительность вас устраивает, тогда все хорошо! Если нет, то, возможно, попробуйте это в рамках обхода.

Другие вопросы по тегам