2016-06-02 15 views
1

Ich versuche Blazegraph zu lernen. Im Moment bin ich verwirrt, wie ich einfache Lookups optimieren kann.Blazegraph Tinkerpop 3 Indexierung

Angenommen, alle meine Scheitelpunkte haben eine Eigenschaft id, die eindeutig ist. Diese Eigenschaft wird vom Benutzer festgelegt. Gibt es eine Möglichkeit, eine Ecke eines bestimmten id schneller zu finden, während Sie immer noch an den Tinkerpop APIs bleiben?

Ist die Such-API here der einzige Weg definiert?

Meine vorherige Erfahrung ist in TitanDB und in Titans Fall ist es möglich, einen Index zu definieren, den die Tinkerpop APIs mit tadellos integrieren. Gibt es eine Möglichkeit, die gleichen Ergebnisse in Blazegraph zu erzielen, ohne die Such-API zu verwenden?

Antwort

0

Ob ein mittleres traversal V() verwendet einen Index oder nicht, hängt von einer) ob geeigneter Index vorhanden ist, und b) wenn der jeweilige System Graph Provider implementiert diese Funktionalität.

Gremlin (Tinkerpop) nicht how to set indexes angeben, obwohl die Dokumentation Dinge präsentiert like the following

graph.createIndex("username",Vertex.class) 

Aber möglicherweise für den ThinkerGraph implementation, wie in der Tat heißt es

Jedes Diagramm reserviert werden System wird verschiedene Mechanismen haben, nach denen Indizes und Schemata definiert sind. TinkerPop3 benötigt in diesem Bereich keine Konformität in . In TinkerGraph gibt es nur Definitionen für Indizes. Bei anderen Graphensystemen müssen Eigenschaftswerttypen, Indizes, Kantenbeschriftungen, usw. möglicherweise a priori definiert werden, um Daten zum Diagramm hinzuzufügen.

ist ein Beispiel for Neo4J

TinkerPop3 nicht Methode nicht bieten Schnittstellen zu definieren schema/Indizes für das darunter liegende Graph System. Um Indizes zu erstellen, ist es daher wichtig, die Neo4j-API direkt aufzurufen.

Aber der Code ist sehr spezifisch für das Plugin

graph.cypher("CREATE INDEX ON :person(name)") 

Beachten Sie, dass für BlazeGraph the search uses a built in full-text index

+0

Ah ich es nicht bewusst war bereits eine vollständige Testindex verwendet. –

+0

Natürlich sollten Sie überprüfen, ob der Index die entsprechende Leistung hat. Zum Beispiel, wenn Sie einen numerischen Schlüssel hätten, wäre der Volltextindex nicht die perfekte Wahl. – Kuzeko