Search in sources :

Example 21 with AtlasPropertyKey

use of org.apache.atlas.repository.graphdb.AtlasPropertyKey in project incubator-atlas by apache.

the class Titan1GraphManagement method addVertexIndexKey.

@Override
public void addVertexIndexKey(String indexName, AtlasPropertyKey propertyKey) {
    PropertyKey titanKey = TitanObjectFactory.createPropertyKey(propertyKey);
    TitanGraphIndex vertexIndex = management.getGraphIndex(indexName);
    management.addIndexKey(vertexIndex, titanKey);
}
Also used : TitanGraphIndex(com.thinkaurelius.titan.core.schema.TitanGraphIndex) AtlasPropertyKey(org.apache.atlas.repository.graphdb.AtlasPropertyKey) PropertyKey(com.thinkaurelius.titan.core.PropertyKey)

Example 22 with AtlasPropertyKey

use of org.apache.atlas.repository.graphdb.AtlasPropertyKey in project incubator-atlas by apache.

the class Titan1GraphManagement method createVertexIndex.

@Override
public void createVertexIndex(String propertyName, String backingIndex, List<AtlasPropertyKey> propertyKeys) {
    TitanManagement.IndexBuilder indexBuilder = management.buildIndex(propertyName, Vertex.class);
    for (AtlasPropertyKey key : propertyKeys) {
        PropertyKey titanKey = TitanObjectFactory.createPropertyKey(key);
        indexBuilder.addKey(titanKey);
    }
    indexBuilder.buildMixedIndex(backingIndex);
}
Also used : AtlasPropertyKey(org.apache.atlas.repository.graphdb.AtlasPropertyKey) TitanManagement(com.thinkaurelius.titan.core.schema.TitanManagement) AtlasPropertyKey(org.apache.atlas.repository.graphdb.AtlasPropertyKey) PropertyKey(com.thinkaurelius.titan.core.PropertyKey)

Example 23 with AtlasPropertyKey

use of org.apache.atlas.repository.graphdb.AtlasPropertyKey in project incubator-atlas by apache.

the class Titan1DatabaseTest method getGraph.

private <V, E> AtlasGraph<V, E> getGraph() {
    GraphSandboxUtil.create();
    if (atlasGraph == null) {
        Titan1GraphDatabase db = new Titan1GraphDatabase();
        atlasGraph = db.getGraph();
        AtlasGraphManagement mgmt = atlasGraph.getManagementSystem();
        // many)
        for (String propertyName : new String[] { "__superTypeNames", "__traitNames" }) {
            AtlasPropertyKey propertyKey = mgmt.getPropertyKey(propertyName);
            if (propertyKey == null) {
                propertyKey = mgmt.makePropertyKey(propertyName, String.class, AtlasCardinality.SET);
                mgmt.createExactMatchIndex(propertyName, false, Collections.singletonList(propertyKey));
            }
        }
        mgmt.commit();
    }
    return (AtlasGraph<V, E>) atlasGraph;
}
Also used : AtlasGraphManagement(org.apache.atlas.repository.graphdb.AtlasGraphManagement) AtlasPropertyKey(org.apache.atlas.repository.graphdb.AtlasPropertyKey) AtlasGraph(org.apache.atlas.repository.graphdb.AtlasGraph)

Example 24 with AtlasPropertyKey

use of org.apache.atlas.repository.graphdb.AtlasPropertyKey in project incubator-atlas by apache.

the class Titan0GraphIndex method getFieldKeys.

/* (non-Javadoc)
     * @see org.apache.atlas.repository.graphdb.AtlasGraphIndex#getFieldKeys()
     */
@Override
public Set<AtlasPropertyKey> getFieldKeys() {
    PropertyKey[] keys = wrappedIndex.getFieldKeys();
    Set<AtlasPropertyKey> result = new HashSet<>();
    for (PropertyKey key : keys) {
        result.add(GraphDbObjectFactory.createPropertyKey(key));
    }
    return result;
}
Also used : AtlasPropertyKey(org.apache.atlas.repository.graphdb.AtlasPropertyKey) AtlasPropertyKey(org.apache.atlas.repository.graphdb.AtlasPropertyKey) PropertyKey(com.thinkaurelius.titan.core.PropertyKey) HashSet(java.util.HashSet)

Example 25 with AtlasPropertyKey

use of org.apache.atlas.repository.graphdb.AtlasPropertyKey in project incubator-atlas by apache.

the class GraphBackedSearchIndexer method createExactMatchIndexWithSystemProperty.

private void createExactMatchIndexWithSystemProperty(AtlasGraphManagement management, Class propertyClass, AtlasPropertyKey propertyKey, final String systemPropertyKey, AtlasCardinality cardinality) {
    if (LOG.isDebugEnabled()) {
        LOG.debug("Creating composite index for property {} of type {} and {}", propertyKey.getName(), propertyClass.getName(), systemPropertyKey);
    }
    AtlasPropertyKey typePropertyKey = management.getPropertyKey(systemPropertyKey);
    if (typePropertyKey == null) {
        typePropertyKey = management.makePropertyKey(systemPropertyKey, String.class, cardinality);
    }
    final String indexName = propertyKey.getName() + systemPropertyKey;
    AtlasGraphIndex existingIndex = management.getGraphIndex(indexName);
    if (existingIndex == null) {
        List<AtlasPropertyKey> keys = new ArrayList<>(2);
        keys.add(propertyKey);
        keys.add(typePropertyKey);
        management.createExactMatchIndex(indexName, false, keys);
        LOG.info("Created composite index for property {} of type {} and {}", propertyKey.getName(), propertyClass.getName(), systemPropertyKey);
    }
}
Also used : AtlasPropertyKey(org.apache.atlas.repository.graphdb.AtlasPropertyKey) AtlasGraphIndex(org.apache.atlas.repository.graphdb.AtlasGraphIndex) ArrayList(java.util.ArrayList)

Aggregations

AtlasPropertyKey (org.apache.atlas.repository.graphdb.AtlasPropertyKey)46 PropertyKey (com.thinkaurelius.titan.core.PropertyKey)20 PropertyKey (org.janusgraph.core.PropertyKey)10 TitanManagement (com.thinkaurelius.titan.core.schema.TitanManagement)7 HashSet (java.util.HashSet)6 AtlasGraphManagement (org.apache.atlas.repository.graphdb.AtlasGraphManagement)6 AtlasGraphIndex (org.apache.atlas.repository.graphdb.AtlasGraphIndex)5 IndexBuilder (org.janusgraph.core.schema.JanusGraphManagement.IndexBuilder)5 AtlasCardinality (org.apache.atlas.repository.graphdb.AtlasCardinality)4 AtlasGraph (org.apache.atlas.repository.graphdb.AtlasGraph)4 Cardinality (com.thinkaurelius.titan.core.Cardinality)3 PropertyKeyMaker (com.thinkaurelius.titan.core.schema.PropertyKeyMaker)3 TitanGraphIndex (com.thinkaurelius.titan.core.schema.TitanGraphIndex)3 ArrayList (java.util.ArrayList)3 RepositoryException (org.apache.atlas.repository.RepositoryException)2 AtlasEdgeDirection (org.apache.atlas.repository.graphdb.AtlasEdgeDirection)2 AtlasEdgeLabel (org.apache.atlas.repository.graphdb.AtlasEdgeLabel)2 EdgeLabel (com.thinkaurelius.titan.core.EdgeLabel)1 Direction (com.tinkerpop.blueprints.Direction)1 AtlasException (org.apache.atlas.AtlasException)1