1
import org.apache.tinkerpop.gremlin
import gremlin.neo4j.structure.Neo4jGraph
import gremlin.tinkergraph.structure.TinkerGraph
import gremlin.hadoop.structure.HadoopGraph
import org.apache.commons.configuration.Configuration
trait Graph[G] {
def create(location: String, args: Configuration = null): G
}
object Grapher {
implicit val createNeo4j = new Graph[Neo4jGraph] {
def create(location: String, args: Configuration = null) =
if (args != null) Neo4jGraph.open(args) else Neo4jGraph.open(location)
}
implicit val createTinkerGraph = new Graph[TinkerGraph] {
def create(location: String, args: Configuration = null) =
if (args != null) TinkerGraph.open(args) else TinkerGraph.open()
}
implicit val createHadoopGraph = new Graph[HadoopGraph] {
def create(location: String, args: Configuration = null) =
if (args != null) HadoopGraph.open(args) else HadoopGraph.open(location)
}
}
object GraphSyntax {
def createGraph[G](location: String, args: Configuration = null)(implicit graph: Graph[G]) = graph.create(location, args)
}
これは、私は、クエリを実行しようとする方法である:
import Grapher._
import GraphSyntax._
val graph = createGraph[Neo4jGraph](fileName)
// org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph = neo4jgraph[community single [/media/ixaxaar/Source/src/telperion/core/neo4j.db]]
graph.cypher("match (n) return n limit 10").toList
// java.util.List[Nothing] = []
私はのNeo4jサーバにグラフをロードすると、同じクエリがのNeo4j Webコンソール上で動作します。
match (n) return n limit 10
私は、次のLIBSを使用しています。このため
final val Gremlin = "3.2.1"
final val Neo4jTinkerpop = "0.4-3.0.3"
val gremlinCore = "org.apache.tinkerpop" % "gremlin-core" % Version.Gremlin
val gremlinGiraph = "org.apache.tinkerpop" % "giraph-gremlin" % Version.Gremlin
val gremlinNeo4j = "org.apache.tinkerpop" % "neo4j-gremlin" % Version.Gremlin
val hadoopGremlin = "org.apache.tinkerpop" % "hadoop-gremlin" % Version.Gremlin
val tinkergraphGremlin = "org.apache.tinkerpop" % "tinkergraph-gremlin" % Version.Gremlin
val neo4jTinkerpop = "org.neo4j" % "neo4j-tinkerpop-api-impl" % Version.Neo4jTinkerpop
グレムリンでネオに質問するにはどうすればよいですか?あなたが推薦できるどんなツイートや図書館? – swelet
既にネオグラフがある場合、たとえば〜/ bin/neo4j-community-3.0.4/data/databases/graph.db "'で、 'Neo4jGraph.open(location)'を使ってgremlinに直接ロードし、トラバーサル 'val gremlin traversal queries - > http://tinkerpop.apache.org/を参照してください。gremlin traversal queries - > http://tinkerpop.apache.org/ doc/current/reference /#traversal – ixaxaar
また、gypreをgremlinで使用するには、 'graph.cypher(あなたのcypher-queryにマッチする) 'を使用します。 定型文が必要な場合は、上記のコードを参照してください。 上記のsbtの依存関係も上記のとおりです – ixaxaar