Package org.neo4j.gds.core.loading
Class ArrayIdMap
- java.lang.Object
-
- org.neo4j.gds.api.LabeledIdMap
-
- org.neo4j.gds.core.loading.ArrayIdMap
-
- All Implemented Interfaces:
BatchNodeIterable
,IdMap
,NodeIterator
,PartialIdMap
public class ArrayIdMap extends LabeledIdMap
This is basically a long to int mapper. It sorts the id's in ascending order so its guaranteed that there is no ID greater then nextGraphId / capacity
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.neo4j.gds.api.BatchNodeIterable
BatchNodeIterable.BitSetIdIterator, BatchNodeIterable.IdIterable, BatchNodeIterable.IdIterator
-
Nested classes/interfaces inherited from interface org.neo4j.gds.api.IdMap
IdMap.NodeLabelConsumer
-
-
Field Summary
-
Fields inherited from class org.neo4j.gds.api.LabeledIdMap
labelInformation
-
Fields inherited from interface org.neo4j.gds.api.IdMap
NO_TYPE, NOT_FOUND, START_NODE_ID
-
-
Constructor Summary
Constructors Constructor Description ArrayIdMap(HugeLongArray internalToOriginalIds, org.neo4j.gds.collections.HugeSparseLongArray originalToInternalIds, LabelInformation labelInformation, long nodeCount, long highestNeoId)
initialize the map with pre-built sub arrays
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsOriginalId(long originalNodeId)
Returns true iff the Neo4j id is mapped, otherwise false.long
highestOriginalId()
The highest id that is mapped in this id mapping.static org.neo4j.gds.core.utils.mem.MemoryEstimation
memoryEstimation()
IdMap
rootIdMap()
Returns the original node mapping if the current node mapping is filtered, otherwise it returns itself.java.util.OptionalLong
rootNodeCount()
Number of mapped node ids in the root mapping.long
toMappedNodeId(long originalNodeId)
Maps an original node id to a mapped node id.long
toOriginalNodeId(long mappedNodeId)
Returns the original node id for the given mapped node id.long
toRootNodeId(long mappedNodeId)
Maps a filtered mapped node id to its root mapped node id.java.lang.String
typeId()
A unique identifier for this type of IdMap.java.util.Optional<FilteredIdMap>
withFilteredLabels(java.util.Collection<org.neo4j.gds.NodeLabel> nodeLabels, int concurrency)
-
Methods inherited from class org.neo4j.gds.api.LabeledIdMap
addNodeIdToLabel, addNodeLabel, availableNodeLabels, batchIterables, forEachNode, forEachNodeLabel, hasLabel, labelInformation, nodeCount, nodeCount, nodeIterator, nodeIterator, nodeLabels
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.neo4j.gds.api.IdMap
safeToMappedNodeId
-
-
-
-
Constructor Detail
-
ArrayIdMap
public ArrayIdMap(HugeLongArray internalToOriginalIds, org.neo4j.gds.collections.HugeSparseLongArray originalToInternalIds, LabelInformation labelInformation, long nodeCount, long highestNeoId)
initialize the map with pre-built sub arrays
-
-
Method Detail
-
memoryEstimation
public static org.neo4j.gds.core.utils.mem.MemoryEstimation memoryEstimation()
-
toMappedNodeId
public long toMappedNodeId(long originalNodeId)
Description copied from interface:PartialIdMap
Maps an original node id to a mapped node id. In case of nested id maps, the mapped node id is always in the space of the innermost mapping.- Parameters:
originalNodeId
- must be smaller or equal to the id returned byIdMap.highestOriginalId()
-
typeId
public java.lang.String typeId()
Description copied from interface:IdMap
A unique identifier for this type of IdMap.
-
toOriginalNodeId
public long toOriginalNodeId(long mappedNodeId)
Description copied from interface:IdMap
Returns the original node id for the given mapped node id. The original node id is typically the Neo4j node id. This method is guaranteed to always return the Neo4j id, regardless of the given mapped node id refers to a filtered node id space or a regular / unfiltered node id space.
-
toRootNodeId
public long toRootNodeId(long mappedNodeId)
Description copied from interface:IdMap
Maps a filtered mapped node id to its root mapped node id. This is necessary for nested (filtered) id mappings. If this mapping is a nested mapping, this method returns the root mapped node id of the parent mapping. For the root mapping this method returns the given node id.
-
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.
-
containsOriginalId
public boolean containsOriginalId(long originalNodeId)
Description copied from interface:IdMap
Returns true iff the Neo4j id is mapped, otherwise false.
-
rootNodeCount
public java.util.OptionalLong rootNodeCount()
Description copied from interface:PartialIdMap
Number of mapped node ids in the root mapping. This is necessary for nested (filtered) id mappings.
-
highestOriginalId
public long highestOriginalId()
Description copied from interface:IdMap
The highest id that is mapped in this id mapping.The value is the upper bound of the original node id space.
-
withFilteredLabels
public java.util.Optional<FilteredIdMap> withFilteredLabels(java.util.Collection<org.neo4j.gds.NodeLabel> nodeLabels, int concurrency)
-
-