构建neo4j GetAll服务器扩展时遇到问题

时间:2012-05-24 04:20:01

标签: neo4j neo4j.py

我一直在尝试构建示例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的评价至关重要。

2 个答案:

答案 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()