Search in sources :

Example 36 with AtlasPropertyKey

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

the class GraphBackedSearchIndexer method createEdgeIndex.

private AtlasPropertyKey createEdgeIndex(AtlasGraphManagement management, String propertyName, Class propertyClass, AtlasCardinality cardinality, boolean createCompositeIndex) {
    AtlasPropertyKey propertyKey = management.getPropertyKey(propertyName);
    if (propertyKey == null) {
        propertyKey = management.makePropertyKey(propertyName, propertyClass, cardinality);
        if (isIndexApplicable(propertyClass, cardinality)) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Creating backing index for edge property {} of type {} ", propertyName, propertyClass.getName());
            }
            management.addMixedIndex(EDGE_INDEX, propertyKey);
            LOG.info("Created backing index for edge property {} of type {} ", propertyName, propertyClass.getName());
        }
    }
    if (propertyKey != null) {
        if (createCompositeIndex) {
            createEdgeCompositeIndex(management, propertyClass, propertyKey);
        }
    } else {
        LOG.warn("Index not created for {}: propertyKey is null", propertyName);
    }
    return propertyKey;
}
Also used : AtlasPropertyKey(org.apache.atlas.repository.graphdb.AtlasPropertyKey)

Example 37 with AtlasPropertyKey

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

the class GraphBackedSearchIndexer method createFullTextIndex.

private AtlasPropertyKey createFullTextIndex(AtlasGraphManagement management, String propertyName, Class propertyClass, AtlasCardinality cardinality) {
    AtlasPropertyKey propertyKey = management.getPropertyKey(propertyName);
    if (propertyKey == null) {
        propertyKey = management.makePropertyKey(propertyName, propertyClass, cardinality);
        if (isIndexApplicable(propertyClass, cardinality)) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Creating backing index for vertex property {} of type {} ", propertyName, propertyClass.getName());
            }
            management.addMixedIndex(FULLTEXT_INDEX, propertyKey);
            LOG.info("Created backing index for vertex property {} of type {} ", propertyName, propertyClass.getName());
        }
        LOG.info("Created index {}", FULLTEXT_INDEX);
    }
    return propertyKey;
}
Also used : AtlasPropertyKey(org.apache.atlas.repository.graphdb.AtlasPropertyKey)

Example 38 with AtlasPropertyKey

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

the class Titan0GraphManagement method createVertexMixedIndex.

@Override
public void createVertexMixedIndex(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 39 with AtlasPropertyKey

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

the class Titan0DatabaseTest method getGraph.

private <V, E> AtlasGraph<V, E> getGraph() {
    GraphSandboxUtil.create();
    if (atlasGraph == null) {
        Titan0GraphDatabase db = new Titan0GraphDatabase();
        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.createVertexCompositeIndex(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 40 with AtlasPropertyKey

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

the class Titan1GraphIndex method getFieldKeys.

@Override
public Set<AtlasPropertyKey> getFieldKeys() {
    PropertyKey[] keys = wrapped.getFieldKeys();
    Set<AtlasPropertyKey> result = new HashSet<AtlasPropertyKey>();
    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)

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