NEO4J العلاقة ثنائية الاتجاه
-
21-12-2019 - |
سؤال
هل هناك طريقة لإنشاء علاقة ثنائية الاتجاه في Neo4J باستخدام Cypher؟أرغب في أن تكون العلاقة ثنائية الاتجاه بدلا من جعل علاقات أحادية الاتجاه في كلا الاتجاهين على سبيل المثال:
giveacodicetagpre.بدلا من:
giveacodicetagpre.شكرا مقدما :)
المحلول
لا، ليس هناك.جميع العلاقات في NEO4J لها اتجاه، بدءا ونهاية عقدة معينة.
هناك عدد صغير من الحلول.
-
أولا، كما اقترحت، يمكننا إما أن يكون لديك علاقاتتين، واحد يذهب من A إلى B والآخر من B إلى A.
-
بدلا من ذلك، عند كتابة استفسار المباراة لدينا، يمكننا تحديد لمطابقة الأنماط بدون اتجاه، باستخدام استعلام مثل
giveacodicetagpre.والتي لن تهتم بما إذا كان هناك أصدقاء مع B أو العكس، ويسمح لنا باختيار اتجاه تعسفي عندما نخلق العلاقة.
نصائح أخرى
وفقا لهذه المقالة: بيانات النمذجة في NEO4J: علاقات ثنائية الاتجاه
الخيار الأفضل بدقة هو إنشاء علاقة في اتجاه تعسفي وعدم تحديد الاتجاه عند الاستعلام:
giveacodicetagpre.المحرك قادر على اجتياز الحافة في أي اتجاه.إن إنشاء حافة مكافحة الاتجاه غير ضرورية ويعمل فقط على إضاعة الفضاء والحق في الوقت المناسب.