Package org.neo4j.graphdb

Examples of org.neo4j.graphdb.Relationship


  Node getUnderlyingNode() {
    return treeNode;
  }

  TreeNode getParent() {
    Relationship toParentNode = treeNode.getSingleRelationship(
        RelTypes.SUB_TREE, Direction.INCOMING);
    if (toParentNode != null) {
      Node parentNode = toParentNode.getStartNode();
      Relationship prevEntry = parentNode.getSingleRelationship(
          RelTypes.KEY_ENTRY, Direction.INCOMING);
      while (prevEntry != null) {
        parentNode = prevEntry.getStartNode();
        prevEntry = parentNode.getSingleRelationship(
            RelTypes.KEY_ENTRY, Direction.INCOMING);
      }
      return new TreeNode(bTree, parentNode);
    }
View Full Code Here


    return null;
  }

  // returns the old parent node
  private Node disconnectFromParent() {
    Relationship toParentNode = treeNode.getSingleRelationship(
        RelTypes.SUB_TREE, Direction.INCOMING);
    Node parentNode = toParentNode.getStartNode();
    toParentNode.delete();
    return parentNode;
  }
View Full Code Here

    }
    return count;
  }

  NodeEntry getFirstEntry() {
    Relationship keyEntryRel = treeNode.getSingleRelationship(
        RelTypes.KEY_ENTRY, Direction.OUTGOING);
    assert treeNode.getSingleRelationship(RelTypes.KEY_ENTRY,
        Direction.INCOMING) == null;
    if (keyEntryRel != null) {
      return new NodeEntry(this, keyEntryRel);
View Full Code Here

    }
    return null;
  }

  NodeEntry getLastEntry() {
    Relationship keyEntryRel = treeNode.getSingleRelationship(
        RelTypes.KEY_ENTRY, Direction.OUTGOING);
    NodeEntry last = null;
    while (keyEntryRel != null) {
      last = new NodeEntry(this, keyEntryRel);
      keyEntryRel = keyEntryRel.getEndNode().getSingleRelationship(
          RelTypes.KEY_ENTRY, Direction.OUTGOING);
    }
    return last;
  }
View Full Code Here

          entry = entry.getNextKey();
        }
        // create new blank node for key entry relationship
        Node blankNode = bTree.getGraphDb().createNode();
        NodeEntry nodeEntry = createEntry(keyEntry.getStartNode(), blankNode);
                Relationship keyValueRelationship = nodeEntry.addNode( theNode );
        // move previous keyEntry to start at blank node
        keyEntry.move(this, blankNode, keyEntry.getEndNode());
        entryCount++;
        assert entryCount <= bTree.getOrder();
        if (bTree.getOrder() == entryCount) {
          moveMiddleUp();
        }
        return keyValueRelationship;
      }
      // else if last entry, check for sub tree or add last
      if (keyEntry.getNextKey() == null) {
        // check if we have subtree
        TreeNode subTree = keyEntry.getAfterSubTree();
        if (subTree != null) {
          return subTree.addEntry(theNode, ignoreIfExist);
        }
        // ok just append the element
        Node blankNode = bTree.getGraphDb().createNode();
        NodeEntry nodeEntry = createEntry(keyEntry.getEndNode(), blankNode);
                Relationship keyValueRelationship = nodeEntry.addNode( theNode );
        entryCount++;
        assert entryCount <= bTree.getOrder();
        if (bTree.getOrder() == entryCount) {
          moveMiddleUp();
        }
View Full Code Here

    for(Relationship rel: entryToMoveDown.getEndNode().getRelationships(NodeCollection.RelationshipTypes.VALUE, Direction.OUTGOING)){
      nl2.add(new TempRelationship(rel));
      rel.delete();
    }
    for(TempRelationship trl: nl1){
      Relationship rel = entryToMoveDown.getEndNode().createRelationshipTo(trl.getEndNode(), NodeCollection.RelationshipTypes.VALUE);
      for(String key: trl.getProperties().keySet()){
        rel.setProperty(key, trl.getProperties().get(key));
      }
    }
   
    Node newStartNode = bTree.getGraphDb().createNode();
    Node oetmd = entryToMoveDown.getEndNode();
    entryToMoveDown.move(this, newStartNode, treeNode);
    for(TempRelationship trl: nl2){
      Relationship rel = oetmd.createRelationshipTo(trl.getEndNode(), NodeCollection.RelationshipTypes.VALUE);
      for(String key: trl.getProperties().keySet()){
        rel.setProperty(key, trl.getProperties().get(key));
      }
    }
    Node parentToReAttachTo = disconnectFromParent();
    treeNode = newStartNode;
    connectToParent(parentToReAttachTo);
View Full Code Here

    for(Relationship rel: entryToMoveDown.getEndNode().getRelationships(NodeCollection.RelationshipTypes.VALUE, Direction.OUTGOING)){
      nl2.add(new TempRelationship(rel));
      rel.delete();
    }
    for(TempRelationship trl: nl1){
      Relationship rel = entryToMoveDown.getEndNode().createRelationshipTo(trl.getEndNode(), NodeCollection.RelationshipTypes.VALUE);
      for(String key: trl.getProperties().keySet()){
        rel.setProperty(key, trl.getProperties().get(key));
      }
    }
    Node newLastNode = bTree.getGraphDb().createNode();
    Node oetmd = entryToMoveDown.getEndNode();   
    entryToMoveDown.move(this, this.getLastEntry().getEndNode(), newLastNode);
    for(TempRelationship trl: nl2){
      Relationship rel = oetmd.createRelationshipTo(trl.getEndNode(), NodeCollection.RelationshipTypes.VALUE);
      for(String key: trl.getProperties().keySet()){
        rel.setProperty(key, trl.getProperties().get(key));
      }
    }
    if (subTree != null) {
      subTree.connectToParent(newLastNode);
    }
View Full Code Here

      bTree.makeRoot(this);
    }
  }

  TreeNode getLeftSibbling() {
    Relationship parent = treeNode.getSingleRelationship(RelTypes.SUB_TREE,
        Direction.INCOMING);
    if (parent == null) {
      return null;
    }
    Relationship prevEntry = parent.getStartNode().getSingleRelationship(
        RelTypes.KEY_ENTRY, Direction.INCOMING);
    if (prevEntry == null) {
      return null;
    }
    return new TreeNode(getBTree(), prevEntry.getStartNode()
        .getSingleRelationship(RelTypes.SUB_TREE, Direction.OUTGOING)
        .getEndNode());
  }
View Full Code Here

        .getSingleRelationship(RelTypes.SUB_TREE, Direction.OUTGOING)
        .getEndNode());
  }

  TreeNode getRightSibbling() {
    Relationship parent = treeNode.getSingleRelationship(RelTypes.SUB_TREE,
        Direction.INCOMING);
    if (parent == null) {
      return null;
    }
    Relationship nextEntry = parent.getStartNode().getSingleRelationship(
        RelTypes.KEY_ENTRY, Direction.OUTGOING);
    if (nextEntry == null) {
      return null;
    }
    return new TreeNode(getBTree(), nextEntry.getEndNode()
        .getSingleRelationship(RelTypes.SUB_TREE, Direction.OUTGOING)
        .getEndNode());
  }
View Full Code Here

      else
      {
        underlyingNode.setProperty( MAP_NAME, name );
        this.name = name;
      }
      Relationship bTreeRel = underlyingNode.getSingleRelationship(
        BTree.RelTypes.TREE_ROOT,
        Direction.OUTGOING );
      if ( bTreeRel != null )
      {
        bTree = new BTree( graphDb, bTreeRel.getEndNode() );
      }
      else
      {
        Node bTreeNode = graphDb.createNode();
        underlyingNode.createRelationshipTo( bTreeNode,
View Full Code Here

TOP

Related Classes of org.neo4j.graphdb.Relationship

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.