Pergunta

Estou aprendendo a usar neo4j, mas estou um pouco confuso com seu uso. Quando estou adicionando nós e relacionamentos, posso fazer assim:

GraphDatabaseService graphDb = new EmbeddedGraphDatabase("C:/temp/graphdb");
Transaction tx = graphDb.beginTx();
try {
  org.neo4j.graphdb.Node node = graphDb.createNode();
  ...

Eu também poderia fazer assim:

NeoService neoService = new EmbeddedNeo("C:/temp/graphdb");
Transaction tx = neoService.beginTx();
try {
  org.neo4j.api.core.Node node = neoService.createNode();
  ...

Qual é a diferença aqui realmente? Qual devo usar? Por que eles são 2 mecanismos diferentes? Isso é apenas evolução da API aqui? :) Quero usar a API do Metamodel e ela precisa de um neosserviço, então a escolha é clara, eu acho.

Foi útil?

Solução

Desculpe, você deve usar o primeiro, já que, no último 1.0-RC1, o namespace foi movido. Isso é apenas nomeação, a semântica é a mesma. O segundo exemplo está desatualizado e deve ser removido da documentação oficial. Onde você encontrou aquilo?

Saúde,

/Peter Neubauer

Outras dicas

Você está no comentário da API Evolution. A API antiga é neoservice, então você não deve usar isso. Vá com seu primeiro trecho. Para obter mais informações sobre a alteração da API, consulte, por exemplo, o Release Mail para o mais recente RC:

http://www.mail-archive.com/user@lists.neo4j.org/msg02378.html

Se você usar o instantâneo mais recente (0.7-SNAPShot) do componente Meta-Model, descobrirá que ele usa a API mais recente. Para a nossa versão 1.0 (deve sair em breve agora :), vamos fazer versões que não são do SNAPShot de todos os componentes que usarão a nova API.

-E

E com relação ao modelo meta, use o componente meta-modelo (agora com o MAVEN ARTIFACTID: Neo4J-meta-modelo).

Eu também noto que a visão geral do componente http://components.neo4j.org/neo4j-seta-model/ Tem algum código de exemplo inválido e descrições. Vou tentar consertar isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top