Package org.neo4j.graphdb

Examples of org.neo4j.graphdb.Label


  /**
   * Adds a unique constraint to make sure that each node of the same "sequence table" is unique.
   */
  private void addUniqueConstraintForTableBasedSequence(IdSourceKeyMetadata generatorKeyMetadata) {
    Label generatorKeyLabel = DynamicLabel.label( generatorKeyMetadata.getName() );
    if ( isMissingUniqueConstraint( generatorKeyLabel ) ) {
      neo4jDb.schema().constraintFor( generatorKeyLabel ).assertPropertyIsUnique( generatorKeyMetadata.getKeyColumnName() ).create();
    }
  }
View Full Code Here


   * <pre>
   * MERGE (n:hibernate_sequences:TABLE_BASED_SEQUENCE {sequence_name: {sequenceName}}) ON CREATE SET n.current_value = {initialValue} RETURN n
   * </pre>
   */
  private void addTableSequence(IdSourceKeyMetadata idSourceKeyMetadata, String sequenceName, int initialValue) {
    Label generatorKeyLabel = DynamicLabel.label( idSourceKeyMetadata.getName() );
    String query = "MERGE (n" + labels( generatorKeyLabel.name(), NodeLabel.TABLE_BASED_SEQUENCE.name() ) + " { " + idSourceKeyMetadata.getKeyColumnName() + ": {"
        + SEQUENCE_NAME_QUERY_PARAM + "}} ) ON CREATE SET n." + idSourceKeyMetadata.getValueColumnName() + " = {" + INITIAL_VALUE_QUERY_PARAM + "} RETURN n";
    engine.execute( query, params( sequenceName, initialValue ) );
  }
View Full Code Here

  private void addUniqueConstraints(GraphDatabaseService neo4jDb, Configuration configuration) {
    Iterator<Table> tableMappings = configuration.getTableMappings();
    while ( tableMappings.hasNext() ) {
      Table table = tableMappings.next();
      if ( table.isPhysicalTable() ) {
        Label label = label( table.getName() );
        PrimaryKey primaryKey = table.getPrimaryKey();
        createConstraint( neo4jDb, table, label, primaryKey );
        @SuppressWarnings("unchecked")
        Iterator<Column> columnIterator = table.getColumnIterator();
        while ( columnIterator.hasNext() ) {
View Full Code Here

  public void createUniqueConstraint(Set<String> generatorsKey) {
    Transaction tx = null;
    try {
      tx = neo4jDb.beginTx();
      for ( String generatorKey : generatorsKey ) {
        Label label = DynamicLabel.label( generatorKey );
        if ( isMissingUniqueConstraint( neo4jDb, label, SEQUENCE_NAME_PROPERTY ) ) {
          neo4jDb.schema().constraintFor( label ).assertPropertyIsUnique( SEQUENCE_NAME_PROPERTY ).create();
        }
      }
      tx.success();
View Full Code Here

      addUniqueConstraint( sequenceGenerator.generatorKey() );
    }
  }

  private void addUniqueConstraint(Object generatorKey) {
    Label generatorKeyLabel = generatorKeyLabel( generatorKey );
    if ( isMissingUniqueConstraint( generatorKeyLabel ) ) {
      neo4jDb.schema().constraintFor( generatorKeyLabel ).assertPropertyIsUnique( SEQUENCE_NAME_PROPERTY ).create();
    }
  }
View Full Code Here

   * <pre>
   * MERGE (n:hibernate_sequences:SEQUENCE {sequence_name: {sequenceName}}) ON CREATE SET n.current_value = {initialValue} RETURN n
   * </pre>
   */
  private void addSequence(Object generatorKey, String sequenceName, int initialValue) {
    Label generatorKeyLabel = generatorKeyLabel( generatorKey );
    String query = "MERGE (n" + labels( generatorKeyLabel.name(), NodeLabel.SEQUENCE.name() ) + " { " + SEQUENCE_NAME_PROPERTY + ": {"
        + SEQUENCE_NAME_QUERY_PARAM + "}} ) ON CREATE SET n." + CURRENT_VALUE_PROPERTY + " = {" + INITIAL_VALUE_QUERY_PARAM + "} RETURN n";
    engine.execute( query, params( sequenceName, initialValue ) );
  }
View Full Code Here

      neo4jDb.schema().constraintFor( NodeLabel.SEQUENCE ).assertPropertyIsUnique( SEQUENCE_NAME_PROPERTY ).create();
    }
  }

  private void addUniqueConstraintForTableBasedSequence(IdSourceKeyMetadata generatorKeyMetadata) {
    Label generatorKeyLabel = DynamicLabel.label( generatorKeyMetadata.getName() );
    if ( isMissingUniqueConstraint( generatorKeyLabel ) ) {
      neo4jDb.schema().constraintFor( generatorKeyLabel ).assertPropertyIsUnique( generatorKeyMetadata.getKeyColumnName() ).create();
    }
  }
View Full Code Here

   * <pre>
   * MERGE (n:hibernate_sequences:TABLE_BASED_SEQUENCE {sequence_name: {sequenceName}}) ON CREATE SET n.current_value = {initialValue} RETURN n
   * </pre>
   */
  private void addTableSequence(IdSourceKeyMetadata idSourceKeyMetadata, String sequenceName, int initialValue) {
    Label generatorKeyLabel = DynamicLabel.label( idSourceKeyMetadata.getName() );
    String query = "MERGE (n" + labels( generatorKeyLabel.name(), NodeLabel.TABLE_BASED_SEQUENCE.name() ) + " { " + idSourceKeyMetadata.getKeyColumnName() + ": {"
        + SEQUENCE_NAME_QUERY_PARAM + "}} ) ON CREATE SET n." + idSourceKeyMetadata.getValueColumnName() + " = {" + INITIAL_VALUE_QUERY_PARAM + "} RETURN n";
    engine.execute( query, params( sequenceName, initialValue ) );
  }
View Full Code Here

        GraphDatabaseService graphDatabaseService = session.getGraphDatabaseService();
        try (Transaction transaction = graphDatabaseService.beginTx()) {
            for (TypeMetadata<NodeMetadata> typeMetadata : registeredMetadata) {
                IndexedPropertyMethodMetadata<IndexedPropertyMetadata> indexedPropertyMethodMetadata = typeMetadata.getIndexedProperty();
                if (indexedPropertyMethodMetadata != null && indexedPropertyMethodMetadata.getDatastoreMetadata().isCreate()) {
                    Label label = typeMetadata.getDatastoreMetadata().getDiscriminator();
                    PrimitivePropertyMethodMetadata propertyMethodMetadata = indexedPropertyMethodMetadata.getPropertyMethodMetadata();
                    if (label != null && propertyMethodMetadata != null) {
                        reCreateIndex(graphDatabaseService, label, propertyMethodMetadata);
                    }
                }
View Full Code Here

            transaction.success();
        }
    }

    private void initUniqueIndex(EntityTypeMetadata<NodeMetadata> entityTypeMetadata, PrimitivePropertyMethodMetadata propertyMethodMetadata) {
        Label label = entityTypeMetadata.getDatastoreMetadata().getDiscriminator();
        if (label != null && propertyMethodMetadata != null) {
            reCreateUniqueConstraint(label, propertyMethodMetadata);
        }
    }
View Full Code Here

TOP

Related Classes of org.neo4j.graphdb.Label

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.