Class UnionGraph

    • Method Detail

      • nodeCount

        public long nodeCount()
        Description copied from interface: IdMap
        Number of mapped nodeIds.
        Specified by:
        nodeCount in interface IdMap
      • rootNodeCount

        public long rootNodeCount()
        Description copied from interface: IdMap
        Number of mapped node ids in the root mapping. This is necessary for nested (filtered) id mappings.
        Specified by:
        rootNodeCount in interface IdMap
      • highestNeoId

        public long highestNeoId()
        Specified by:
        highestNeoId in interface IdMap
      • schema

        public org.neo4j.gds.api.schema.GraphSchema schema()
        Specified by:
        schema in interface Graph
      • relationshipCount

        public long relationshipCount()
        Specified by:
        relationshipCount in interface Graph
        Returns:
        returns the total number of relationships in the graph.
      • forEachNode

        public void forEachNode​(java.util.function.LongPredicate consumer)
        Description copied from interface: NodeIterator
        Iterate over each nodeId
        Specified by:
        forEachNode in interface NodeIterator
      • nodeProperties

        public NodeProperties nodeProperties​(java.lang.String propertyKey)
        Description copied from interface: NodePropertyContainer
        Return the property values for a property key NOTE: Avoid using this on the hot path, favor caching the NodeProperties object when possible
        Specified by:
        nodeProperties in interface NodePropertyContainer
        Parameters:
        propertyKey - the node property key
        Returns:
        the values associated with that key
      • toMappedNodeId

        public long toMappedNodeId​(long nodeId)
        Description copied from interface: IdMap
        Map original nodeId to inner nodeId
        Specified by:
        toMappedNodeId in interface IdMap
        Parameters:
        nodeId - must be smaller or equal to the id returned by IdMap.highestNeoId()
      • toOriginalNodeId

        public long toOriginalNodeId​(long nodeId)
        Description copied from interface: IdMap
        Map inner nodeId back to original nodeId
        Specified by:
        toOriginalNodeId in interface IdMap
      • toRootNodeId

        public long toRootNodeId​(long nodeId)
        Description copied from interface: IdMap
        Maps an internal id to its root internal node id. This is necessary for nested (filtered) id mappings. If this mapping is a nested mapping, this method returns the root node id of the parent mapping. For the root mapping this method returns the given node id.
        Specified by:
        toRootNodeId in interface IdMap
      • rootIdMap

        public IdMap rootIdMap()
        Description copied from interface: IdMap
        Returns the original node mapping if the current node mapping is filtered, otherwise it returns itself.
        Specified by:
        rootIdMap in interface IdMap
      • contains

        public boolean contains​(long nodeId)
        Description copied from interface: IdMap
        Returns true iff the nodeId is mapped, otherwise false.
        Specified by:
        contains in interface IdMap
      • relationshipProperty

        public double relationshipProperty​(long sourceNodeId,
                                           long targetNodeId,
                                           double fallbackValue)
        Description copied from interface: RelationshipProperties
        get value of property on relationship between source and target node id
        Specified by:
        relationshipProperty in interface RelationshipProperties
        Parameters:
        sourceNodeId - source node
        targetNodeId - target node
        fallbackValue - value to use if relationship has no property value
        Returns:
        the property value
      • relationshipProperty

        public double relationshipProperty​(long sourceNodeId,
                                           long targetNodeId)
        Description copied from interface: RelationshipProperties
        Returns the property value for a relationship defined by its source and target nodes.
        Specified by:
        relationshipProperty in interface RelationshipProperties
      • forEachRelationship

        public void forEachRelationship​(long nodeId,
                                        RelationshipConsumer consumer)
        Description copied from interface: RelationshipIterator
        Calls the given consumer function for every relationship of a given node.
        Specified by:
        forEachRelationship in interface RelationshipIterator
        Parameters:
        nodeId - id of the node for which to iterate relationships
        consumer - relationship consumer function
      • forEachRelationship

        public void forEachRelationship​(long nodeId,
                                        double fallbackValue,
                                        RelationshipWithPropertyConsumer consumer)
        Description copied from interface: RelationshipIterator
        Calls the given consumer function for every relationship of a given node. If the graph was loaded with a relationship property, the property value of the relationship will be passed into the consumer. Otherwise the given fallback value will be used.
        Specified by:
        forEachRelationship in interface RelationshipIterator
        Parameters:
        nodeId - id of the node for which to iterate relationships
        fallbackValue - value used as relationship property if no properties were loaded
        consumer - relationship consumer function
      • relationshipTypeFilteredGraph

        public Graph relationshipTypeFilteredGraph​(java.util.Set<org.neo4j.gds.RelationshipType> relationshipTypes)
        Specified by:
        relationshipTypeFilteredGraph in interface Graph
      • degree

        public int degree​(long nodeId)
        Specified by:
        degree in interface Degrees
      • exists

        public boolean exists​(long sourceNodeId,
                              long targetNodeId)
        O(n) !
        Specified by:
        exists in interface RelationshipPredicate
      • canRelease

        public void canRelease​(boolean canRelease)
        Specified by:
        canRelease in interface Graph
      • releaseTopology

        public void releaseTopology()
        Description copied from interface: Graph
        Release only the topological data associated with that graph.
        Specified by:
        releaseTopology in interface Graph
      • releaseProperties

        public void releaseProperties()
        Description copied from interface: Graph
        Release only the properties associated with that graph.
        Specified by:
        releaseProperties in interface Graph
      • isUndirected

        public boolean isUndirected()
        Specified by:
        isUndirected in interface Graph
      • isMultiGraph

        public boolean isMultiGraph()
        Description copied from interface: Graph
        Whether the graph is guaranteed to have no parallel relationships. If this returns false it still may be parallel-free, but we do not know.
        Specified by:
        isMultiGraph in interface Graph
        Returns:
        true iff the graph has maximum one relationship between each pair of nodes.
      • nodeLabels

        public java.util.Set<org.neo4j.gds.NodeLabel> nodeLabels​(long nodeId)
        Specified by:
        nodeLabels in interface IdMap
      • availableNodeLabels

        public java.util.Set<org.neo4j.gds.NodeLabel> availableNodeLabels()
        Specified by:
        availableNodeLabels in interface IdMap
      • hasLabel

        public boolean hasLabel​(long nodeId,
                                org.neo4j.gds.NodeLabel label)
        Specified by:
        hasLabel in interface IdMap