Package oracle.pgx.config
Class GraphConfig
- java.lang.Object
-
- oracle.pgx.config.AbstractConfig
-
- oracle.pgx.config.GraphConfig
-
- All Implemented Interfaces:
CommonLoadableConfig<Format>
,oracle.pgx.config.internal.ConvertibleToGraphConfigBuilder
- Direct Known Subclasses:
AbstractFileGraphConfig
,AbstractPartitionedGraphConfig
,AbstractRdfGraphConfig
,AbstractTwoTablesRdbmsGraphConfig
public abstract class GraphConfig extends AbstractConfig implements CommonLoadableConfig<Format>, oracle.pgx.config.internal.ConvertibleToGraphConfigBuilder
abstract super-class for all graph configs
-
-
Field Summary
-
Fields inherited from class oracle.pgx.config.AbstractConfig
ENV_SEPARATOR, ENV_VARIABLE_PREFIX, SYSTEM_PROPERTY_PREFIX
-
-
Constructor Summary
Constructors Constructor Description GraphConfig()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
abstract java.lang.Double
getArrayCompactionThreshold()
For graphs optimized for updates, the value corresponds to the ratio at which the delta-logs are compacted into new arrays.IdType
getEdgeIdType()
Get the edge ID type of this graph configurationjava.lang.Object
getEdgePropertyDefault(int i)
Get the default value of a edge property by indexint
getEdgePropertyDimension(int i)
Get the dimension of a edge property by indexjava.lang.String
getEdgePropertyName(int i)
Get the name of a edge property by indexPropertyType
getEdgePropertyType(int i)
Get the name of a edge property by indexjava.util.Map<java.lang.String,PropertyType>
getEdgePropertyTypes()
abstract java.util.List<GraphPropertyConfig>
getEdgeProps()
Get the vertex properties of this graph configurationabstract java.util.List<ExternalStoreConfig>
getExternalStores()
GraphLoadingConfig
getLoadingOptions()
Get the loading configuration of this graph configurationIdType
getNodeKeyType()
alias forgetVertexIdType()
java.lang.Object
getNodePropertyDefault(int i)
Get the default value of a vertex property by indexint
getNodePropertyDimension(int i)
Get the dimension of a node property by indexjava.lang.String
getNodePropertyName(int i)
Get the name of a vertex property by indexPropertyType
getNodePropertyType(int i)
Get the type of a vertex property by indexabstract GraphOptimizedFor
getOptimizedFor()
Indicates if the graph should be partitioned during loadingabstract PartitionWhileLoading
getPartitionWhileLoading()
Indicates if the graph should be heterogenized during loadingIdStrategy
getValidatedEdgeIdStrategy()
Validates and return the ID strategy used for edges (checking if the strategy is compatible with the rest of the graph configuration)IdType
getValidatedEdgeIdType()
Validates and return the ID type used for edges (checking if the type is compatible with the rest of the configuration)IdStrategy
getValidatedVertexIdStrategy()
Validates and return the ID strategy used for vertices (checking if the strategy is compatible with the rest of the graph configuration)IdType
getValidatedVertexIdType()
Validates and return the ID type used for vertices (checking if the type is compatible with the rest of the configuration)abstract IdType
getVertexIdType()
Get the vertex ID type of this graph configurationjava.util.Map<java.lang.String,PropertyType>
getVertexPropertyTypes()
abstract java.util.List<GraphPropertyConfig>
getVertexProps()
Get the vertex properties of this graph configurationint
hashCode()
boolean
hasVerticesAndEdgesSeparatedFileFormat()
Check if this graph configuration has vertices and edges separated in different filesstatic boolean
hasVerticesAndEdgesSeparatedFileFormat(Format format)
Check if a format has vertices and edges separated in different filesboolean
isEdgeLabelLoadingEnabled()
boolean
isFileFormat()
Check if this graph configuration is a file-based configuration.static boolean
isFileFormat(Format format)
Check if a format is a file-based formatboolean
isLoadEdgeKeys()
boolean
isLoadVertexKeys()
boolean
isMultipleFileFormat()
Check if this graph configuration has vertices and edges separated in different filesstatic boolean
isMultipleFileFormat(Format format)
Check if a format has vertices and edges separated in different filesboolean
isSingleFileFormat()
Check if this graph configuration has vertices and edges combined in same filestatic boolean
isSingleFileFormat(Format format)
Check if a format has vertices and edges combined in same fileboolean
isVertexLabelsLoadingEnabled()
int
numEdgeProperties()
Get the number of edge properties in this graph configurationint
numNodeProperties()
Get the number of vertex properties in this graph configurationboolean
skipEdgeLoading()
boolean
skipVertexLoading()
boolean
supportsEdgeLabel()
Check if this graph configuration's format supports having an edge label or notstatic boolean
supportsEdgeLabel(Format format)
Check if a format supports having an edge label or notboolean
supportsPropertyColumn()
Check if this graph configuration's format supports having a column indication for propertiesstatic boolean
supportsPropertyColumn(Format format)
Check if a format support having a column indication for propertiesboolean
supportsVectorProperties()
Check if this graph configuration's format supports having vector properties or notstatic boolean
supportsVectorProperties(Format format)
Check if a format support having vector properties or notboolean
supportsVertexLabels()
Check if this graph configuration's format supports having an vertex labels or notstatic boolean
supportsVertexLabels(Format format)
Check if a format support having an vertex labels or not-
Methods inherited from class oracle.pgx.config.AbstractConfig
getDefault, getValueFromEnvironment, getValueFromEnvironment, getValues, parseString, setSerializable
-
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface oracle.pgx.config.CommonLoadableConfig
createLocalDateFormat, createTimeFormat, createTimestampFormat, createTimestampWithTimezoneFormat, createTimeWithTimezoneFormat, getAttributes, getErrorHandling, getFormat, getKeystoreAlias, getLocalDateFormat, getName, getTimeFormat, getTimestampFormat, getTimestampWithTimezoneFormat, getTimeWithTimezoneFormat, getVectorComponentDelimiter
-
-
-
-
Method Detail
-
isFileFormat
public static boolean isFileFormat(Format format)
Check if a format is a file-based format- Parameters:
format
- the format to check- Returns:
true
if given format is a file-based format,false
otherwise
-
hasVerticesAndEdgesSeparatedFileFormat
public static boolean hasVerticesAndEdgesSeparatedFileFormat(Format format)
Check if a format has vertices and edges separated in different files- Parameters:
format
- the format to check- Returns:
true
if given format has vertices and edges separated in different files,false
otherwise
-
isSingleFileFormat
public static boolean isSingleFileFormat(Format format)
Check if a format has vertices and edges combined in same file- Parameters:
format
- the format to check- Returns:
true
if given format has vertices and edges combined in same file,false
otherwise
-
isMultipleFileFormat
public static boolean isMultipleFileFormat(Format format)
Check if a format has vertices and edges separated in different files- Parameters:
format
- the format to check- Returns:
true
if given format has vertices and edges separated in different files,false
otherwise
-
supportsEdgeLabel
public static boolean supportsEdgeLabel(Format format)
Check if a format supports having an edge label or not- Parameters:
format
- the format to check- Returns:
true
if given format supports edge label,false
otherwise
-
supportsVertexLabels
public static boolean supportsVertexLabels(Format format)
Check if a format support having an vertex labels or not- Parameters:
format
- the format to check- Returns:
true
if given format supports vertex labels,false
otherwise
-
supportsVectorProperties
public static boolean supportsVectorProperties(Format format)
Check if a format support having vector properties or not- Parameters:
format
- the format to check- Returns:
true
if given format supports vector properties,false
otherwise
-
supportsPropertyColumn
public static boolean supportsPropertyColumn(Format format)
Check if a format support having a column indication for properties- Parameters:
format
- the format to check- Returns:
true
if given format supports property columns,false
otherwise
-
getOptimizedFor
public abstract GraphOptimizedFor getOptimizedFor()
Indicates if the graph should be partitioned during loading- Returns:
by_label
if the graph should be partitioned during loading,false
Indicates if the graph should use data-structures optimized for fast updates
-
getPartitionWhileLoading
public abstract PartitionWhileLoading getPartitionWhileLoading()
Indicates if the graph should be heterogenized during loading- Returns:
true
if the graph should be heterogenized during loading,false
ornull
otherwise
-
getVertexProps
public abstract java.util.List<GraphPropertyConfig> getVertexProps()
Get the vertex properties of this graph configuration- Returns:
- the list of vertex properties
-
getEdgeProps
public abstract java.util.List<GraphPropertyConfig> getEdgeProps()
Get the vertex properties of this graph configuration- Returns:
- the list of vertex properties
-
getValidatedVertexIdStrategy
public IdStrategy getValidatedVertexIdStrategy()
Validates and return the ID strategy used for vertices (checking if the strategy is compatible with the rest of the graph configuration)- Returns:
- the ID strategy that can be used for the vertices of the graph
-
getVertexIdType
public abstract IdType getVertexIdType()
Get the vertex ID type of this graph configuration- Returns:
- the vertex ID type
-
getValidatedVertexIdType
public IdType getValidatedVertexIdType()
Validates and return the ID type used for vertices (checking if the type is compatible with the rest of the configuration)- Returns:
- the ID type that can be used for the vertices of the graph
-
getLoadingOptions
public GraphLoadingConfig getLoadingOptions()
Get the loading configuration of this graph configuration- Returns:
- the loading configuration
-
getExternalStores
public abstract java.util.List<ExternalStoreConfig> getExternalStores()
-
getArrayCompactionThreshold
public abstract java.lang.Double getArrayCompactionThreshold()
For graphs optimized for updates, the value corresponds to the ratio at which the delta-logs are compacted into new arrays.- Returns:
- the compaction threshold
-
getValidatedEdgeIdStrategy
public IdStrategy getValidatedEdgeIdStrategy()
Validates and return the ID strategy used for edges (checking if the strategy is compatible with the rest of the graph configuration)- Returns:
- the ID strategy that can be used for the edges of the graph
-
getEdgeIdType
public IdType getEdgeIdType()
Get the edge ID type of this graph configuration- Returns:
- the edge ID type
-
getValidatedEdgeIdType
public IdType getValidatedEdgeIdType()
Validates and return the ID type used for edges (checking if the type is compatible with the rest of the configuration)- Returns:
- the ID type that can be used for the edges of the graph
-
isFileFormat
public boolean isFileFormat()
Check if this graph configuration is a file-based configuration.- Returns:
true
if this graph configuration has a file-based format,false
otherwise
-
hasVerticesAndEdgesSeparatedFileFormat
public boolean hasVerticesAndEdgesSeparatedFileFormat()
Check if this graph configuration has vertices and edges separated in different files- Returns:
true
if this graph configuration's format has vertices and edges separated in different files,false
otherwise
-
isSingleFileFormat
public boolean isSingleFileFormat()
Check if this graph configuration has vertices and edges combined in same file- Returns:
true
if this graph configuration's format has vertices and edges combined in same file,false
otherwise
-
isMultipleFileFormat
public boolean isMultipleFileFormat()
Check if this graph configuration has vertices and edges separated in different files- Returns:
true
if this graph configuration's format has vertices and edges separated in different files,false
otherwise
-
supportsEdgeLabel
public boolean supportsEdgeLabel()
Check if this graph configuration's format supports having an edge label or not- Returns:
true
if this graph configuration's format supports edge label,false
otherwise
-
supportsVertexLabels
public boolean supportsVertexLabels()
Check if this graph configuration's format supports having an vertex labels or not- Returns:
true
if this graph configuration's format supports vertex labels,false
otherwise
-
supportsVectorProperties
public boolean supportsVectorProperties()
Check if this graph configuration's format supports having vector properties or not- Returns:
true
if this graph configuration's format supports vector proeprties,false
otherwise
-
supportsPropertyColumn
public boolean supportsPropertyColumn()
Check if this graph configuration's format supports having a column indication for properties- Returns:
true
if this graph configuration's format supports property columns,false
otherwise
-
getNodeKeyType
public IdType getNodeKeyType()
alias forgetVertexIdType()
- Returns:
- the vertex ID type of this graph configuration
-
numNodeProperties
public int numNodeProperties()
Get the number of vertex properties in this graph configuration- Returns:
- the number of vertex properties
-
numEdgeProperties
public int numEdgeProperties()
Get the number of edge properties in this graph configuration- Returns:
- the number of edge properties
-
getNodePropertyName
public java.lang.String getNodePropertyName(int i)
Get the name of a vertex property by index- Parameters:
i
- the 0-based index of the vertex property- Returns:
- the name of the vertex property
-
getEdgePropertyName
public java.lang.String getEdgePropertyName(int i)
Get the name of a edge property by index- Parameters:
i
- the 0-based index of the edge property- Returns:
- the name of the edge property
-
getNodePropertyType
public PropertyType getNodePropertyType(int i)
Get the type of a vertex property by index- Parameters:
i
- the 0-based index of the vertex property- Returns:
- the type of the vertex property
-
getEdgePropertyType
public PropertyType getEdgePropertyType(int i)
Get the name of a edge property by index- Parameters:
i
- the 0-based index of the edge property- Returns:
- the name of the edge property
-
getNodePropertyDimension
public int getNodePropertyDimension(int i)
Get the dimension of a node property by index- Parameters:
i
- the 0-based index of the node property- Returns:
- the dimension of the node property
-
getEdgePropertyDimension
public int getEdgePropertyDimension(int i)
Get the dimension of a edge property by index- Parameters:
i
- the 0-based index of the edge property- Returns:
- the dimension of the edge property
-
getNodePropertyDefault
public java.lang.Object getNodePropertyDefault(int i)
Get the default value of a vertex property by index- Parameters:
i
- the 0-based index of the vertex property- Returns:
- the default value of the vertex property
-
getEdgePropertyDefault
public java.lang.Object getEdgePropertyDefault(int i)
Get the default value of a edge property by index- Parameters:
i
- the 0-based index of the edge property- Returns:
- the default value of the edge property
-
isLoadEdgeKeys
public boolean isLoadEdgeKeys()
-
isLoadVertexKeys
public boolean isLoadVertexKeys()
-
isVertexLabelsLoadingEnabled
public boolean isVertexLabelsLoadingEnabled()
-
isEdgeLabelLoadingEnabled
public boolean isEdgeLabelLoadingEnabled()
-
skipVertexLoading
public boolean skipVertexLoading()
-
skipEdgeLoading
public boolean skipEdgeLoading()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
getVertexPropertyTypes
public java.util.Map<java.lang.String,PropertyType> getVertexPropertyTypes()
- Returns:
- a mapping from vertex property name to property type
-
getEdgePropertyTypes
public java.util.Map<java.lang.String,PropertyType> getEdgePropertyTypes()
- Returns:
- a mapping from edge property name to property type
-
-