Gremlin 小精灵与框架
我刚刚尝试在gremlin控制台的框架上运行简单的演示:Gremlin 小精灵与框架,gremlin,tinkerpop,Gremlin,Tinkerpop,我刚刚尝试在gremlin控制台的框架上运行简单的演示: TinkerGraph graph = TinkerGraphFactory.createTinkerGraph(); FramedGraphFactory factory = new FramedGraphFactory(new GremlinGroovyModule()); 添加导入com.tinkerpop.frames.*后(是的,tinkerpop框架在我的类路径中) 但是控制台无法识别FramedGraphFactory类
TinkerGraph graph = TinkerGraphFactory.createTinkerGraph();
FramedGraphFactory factory = new FramedGraphFactory(new GremlinGroovyModule());
添加导入com.tinkerpop.frames.*后代码>(是的,tinkerpop框架在我的类路径中)
但是控制台无法识别FramedGraphFactory类
事实上,如果我运行
gremlin> show classes
命令时,它会答复未加载任何内容。有线索吗
谢谢
PS详细信息:我在Ubuntu上,下载了gremlin-groovy-2.4.0
我还下载了frames jar,并设置了类路径:
echo $CLASSPATH
/home/dev/frames-2.5.0.jar
然后启动gremlin并导入帧:
import com.tinkerpop.frames.*
最后
TinkerGraph graph = TinkerGraphFactory.createTinkerGraph();
FramedGraphFactory factory = new FramedGraphFactory(new GremlinGroovyModule());
产生:
groovysh_evaluate: 50: unable to resolve class FramedGraphFactory
@ line 50, column 30.
FramedGraphFactory factory = new FramedGraphFactory(new GremlinGroovyModule()); //(1) Factories should be reused for performance and memory conservation.
^
groovysh_evaluate: 50: unable to resolve class GremlinGroovyModule
@ line 50, column 53
.试试这个:
gremlin> Grape.grab([group:"com.tinkerpop",module:"frames",version:"2.4.0"])
==>null
gremlin> graph = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> import com.tinkerpop.frames.*
==>import com.tinkerpop.gremlin.*
==>import com.tinkerpop.gremlin.java.*
==>import com.tinkerpop.gremlin.pipes.filter.*
...
==>import groovy.grape.Grape
==>import com.tinkerpop.frames.*
gremlin> import com.tinkerpop.frames.modules.gremlingroovy.*
==>import com.tinkerpop.gremlin.*
==>import com.tinkerpop.gremlin.java.*
==>import com.tinkerpop.gremlin.pipes.filter.*
==>import com.tinkerpop.gremlin.pipes.sideeffect.*
...
gremlin> factory = new FramedGraphFactory(new GremlinGroovyModule());
==>com.tinkerpop.frames.FramedGraphFactory@645c1312
如果您已经复制了jar,请在开始时省略使用Grape
,但是如果您复制,请确保您拥有所有的框架依赖项,而不仅仅是框架jar本身(Grape会对您隐藏这些内容)。您能发布您的REPL会话吗(即您正在键入的内容和返回的错误)?嗨,Stephen,谢谢你的介入!上面已经添加了详细信息是的,它可以工作!所以看起来问题在于我没有下载frames jar文件的所有依赖项(从在线文档中不太清楚…)。无论如何,谢谢!更新:从创建framedGraph对象的意义上讲,它确实有效。但是,当我添加语句Person Person=framedGraph.getVertex(1,Person.class)时;groovysh_evaluate:52:无法解析类PersonI已尝试使用import>import com.tinkerpop.frames.domain.classes.*这是Person类应该位于的位置,但无效。有线索吗?这些是“测试”类: