我一直在尝试构建示例GetAll neo4j服务器扩展,但遗憾的是我无法使其工作。我安装了Windows版本的neo4j并将其作为服务器运行。我还安装了Python neo4jrestclient,我通过Python脚本访问neo4j。以下工作正常: 来自neo4jrestclient.client导入GraphDatabase gdb = GraphDatabase(“http:// localhost:7474 / db / data /”) print gdb.extensions
它给了我“CypherPlugin”和“GremlinPlugin”。我想构建示例GetAll服务器扩展,即Java。我正在使用Eclipse。我能够在文件夹“c:\ neo4j_installation_root \ neo4j-community-1.7 \ plugins \ GetAll.jar”中创建jar文件,但是当我重新启动neo4j服务器并运行neo4jrestclient时,它不会显示GetAll服务器扩展。我经常搜索,但是徒劳无功。我有很多使用C ++和Python的经验,但是对Java很新。我将非常感谢能够构建neo4j服务器扩展的一些帮助。这对我对neo4j的评价至关重要。
答案 0 :(得分:1)
你确定有一个META-INF /服务等列出了插件类,而jar文件是用中间dirs创建的(这不是Eclipse导出设置中的默认设置)所以dlo可以被类加载器看到吗?
查看http://docs.neo4j.org/chunked/snapshot/server-plugins.html
上的提示答案 1 :(得分:0)
您可以使用灯泡(http://bulbflow.com)进行全部制作而无需构建扩展程序:
>>> from bulbs.neo4jserver import Graph
>>> g = Graph()
>>> g.vertices.get_all()
>>> g.edges.get_all()
自定义模型的工作方式相同:
# people.py
from bulbs.model import Node, Relationship
from bulbs.property import String, Integer, DateTime
from bulbs.utils import current_datetime
class Person(Node):
element_type = "person"
name = String(nullable=False)
age = Integer()
class Knows(Relationship):
label = "knows"
created = DateTime(default=current_datetime, nullable=False)
然后在模型代理上调用get_all:
>>> from people import Person, Knows
>>> from bulbs.neo4jserver import Graph
>>> g = Graph()
>>> g.add_proxy("people", Person)
>>> g.add_proxy("knows", Knows)
>>> james = g.people.create(name="James")
>>> julie = g.people.create(name="Julie")
>>> g.knows.create(james, julie)
>>> g.people.get_all()
>>> g.knows.get_all()