Mein Setup:Finding Eckpunkte mit genauen Randspiele durchqueren durch Kinder
Ich bin mit einer großen Grafik von Menschen Eckpunkten mit Orientdb. Ich benutze den Gremlin-Java-Treiber, um auf diese Datenbank zuzugreifen, da ich irgendwann auf eine andere Grafikdatenbank wechseln möchte.
Meine Datenbank:
Jeder Mensch hat bestimmte Vorlieben Eckpunkten (über einen markierten Rand verbunden beschreibt, dass die Beziehung zu dieser Präferenz). Alle Präferenzen werden dann mit dem Hauptkonzeptknoten verbunden.
Problem Ich versuche zu lösen:
Ich versuche, einen Weg zu finden (ein dickes Lob, wenn seine so einfach wie eine Gremlin Abfrage) an einer Person Scheitel starten und durchqueren nach unten für alle Menschen mit identische Präferenzen über ein Kernkonzept.
Hier ist ein Beispiel für ein passendes Gehäuse. Person B wird in einer Liste der perfekten Übereinstimmungen von Personen zurückgegeben, wenn Sie bei Person A beginnen. Ich habe vergessen, die Richtungen zu diesen Kanten auf diesem Bild zu zeichnen:/Werfen Sie einen Blick auf den nicht übereinstimmenden Fall, um die Richtungen zu sehen. Hier
ist ein Beispiel eines nicht passenden Fall. Person B wird nicht in einer Liste der perfekten Übereinstimmungen von Personen zurückgegeben. Warum? Weil alle ausgehenden Kanten auf Person B nicht zu identisch übereinstimmenden Kanten auf Person A aufgelöst werden; In diesem Fall weigert sich Person A, Äpfel zu essen, aber Person B erwähnt keine ähnliche Vorliebe für alles, was sie sich weigern zu essen.
Ein weiterer nicht passenden Fall aus dem obigen Beispiel: Wenn Person A weigert sich weigert zu essen Äpfel und Person B Bananen zu essen - sie nicht übereinstimmen.
Wenn Person B Fries am meisten mag und Cheeseburger am wenigsten mag, wäre das auch ein nicht übereinstimmender Fall.
Meine erste Idee (die ich nicht sicher bin, wie zu implementieren) mit einer Abfrage
- Ich würde Person beginnen A
- Suche alle ausgehenden Kanten zu Vorzug Ecken und speichere eine Art von "marker" oder mappe diesen Präferenzknoten mit der Kantenbeschriftung.
- Diese Scheitelpunkte entlang aller SimilarTo etikettierten Kanten ausfahren. Kopieren Sie diese Markierungen vom Präferenzknoten in den Konzeptknoten.
- die Linie Reverse: Konzept Vertex -> Präferenz Vertex (Kopie Macher vom Konzept bis zur Präferenz Vertex)
- ... dann irgendwie auf diese Markierungen alle Kanten passen ...
- Person ein von den Ergebnissen ausschließen
Irgendwelche Ideen?
Nachforschungen ... vielleicht kann ein Match Step funktionieren? Müssen etwas experimentieren. – Mike
Äpfel haben keine 'shneseTo'-Kante. Bedeutet das, dass es immer optional ist? –