Eine Baumabfragesprache für In-Memory-Bäume von Objekten?

8

Welche Möglichkeiten gibt es, vorzugsweise in Java?

Ich habe JXPath gesehen, das XPath auf Objekte erweitert. Gibt es noch etwas?

edit: Mit der Baum-Abfragesprache meine ich eine Sprache, die Ausdrücke erzeugen kann, die Objekten (durch welche Eigenschaft auch immer) in einer Struktur zugeordnet sind.

Bearbeiten2: Beispiel:

Nehmen wir an, ich habe einen Baum dieser Objekte:

%Vor%

Stellen Sie sich nun eine Hierarchie von diesen vor. Nach was ich suche, ist etwas, das Instanzen in diesem Baum abfragen kann. So wie "geben Sie mir alle Node-Instanzen, wo der Name ist" bar ", der Wert ist kleiner als 100 und der Elternteil ist" foo "und der Elternteil ist" Joe ". All dies in einer netten prägnanten Sprache.

Wie gesagt, JXPath ist eine Option. Auf der Suche nach anderen. Ich habe keine gefunden.

Übrigens, ich denke, eine JXPath-Abfrage würde etwa so aussehen wie "// joe / foo / bar [@value & lt; 100]" (oder so ähnlich)

%Vor%     
marathon 04.04.2012, 16:51
quelle

1 Antwort

1

Für Baumstrukturen, die Sie selbst erstellen, können Sie das Besuchermuster anwenden. Lassen Sie Ihre Knoten einen Besucher akzeptieren und schreiben Sie alle Arten von Besuchern, die nach Kriterien suchen und Ihre Objekte sammeln.

Die Verwendung von Visitor bedeutet auch, dass Ihr Code im Gegensatz zu einer Abfrage innerhalb einer Zeichenfolge Typ ist. Und wenn Sie Ihre Getter-Methoden umbenennen, wird IDE sie in allen Besuchern umbenennen und Ihr Code wird weiterhin funktionieren. Wenn sich Ihre Abfrage in einer Zeichenfolge befindet, kann sie unterbrochen werden.

Abgesehen von JXPath gibt es JoQL , das eine SQL-ähnliche Sprache für die Abfrage von Objekten verwendet, aber es ist nicht wirklich für Baumstrukturtypen geeignet .

    
Andrejs 05.04.2012, 16:09
quelle

Tags und Links