# Graph RedisGraph is the first queryable [Property Graph](http://github.com/opencypher/openCypher/blob/master/docs/property-graph-model.adoc) database to use [sparse matrices](http://en.wikipedia.org/wiki/Sparse_matrix) to represent the [adjacency matrix](http://en.wikipedia.org/wiki/Adjacency_matrix) in graphs and [linear algebra](http://faculty.cse.tamu.edu/davis/GraphBLAS.html) to query the graph. ## Primary features - Based on the [Property Graph Model](http://github.com/opencypher/openCypher/blob/master/docs/property-graph-model.adoc) - Nodes (vertices) and Relationships (edges) that may have attributes - Nodes that can be labeled - Relationships have a relationship type - Graphs represented as sparse adjacency matrices - [Cypher](http://www.opencypher.org/) as query language - Cypher queries translated into linear algebra expressions ## Commands See [Graph commands](http://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/deprecated-features/graph/commands) for a list of graph commands that are supported in Redis Enterprise. ## Clients For a list of available RedisGraph clients, see [RedisGraph client libraries](http://github.com/RedisGraph/RedisGraph/blob/master/docs/docs/clients.md). ## Configuration See [Configuration parameters](http://github.com/RedisGraph/RedisGraph/blob/master/docs/docs/configuration.md) for the complete list of RedisGraph configuration parameters. To learn which configuration parameters are supported in Redis Enterprise, see [Graph configuration compatibility with Redis Enterprise](http://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/deprecated-features/graph/config). ## Design For an overview of RedisGraph's design, see [RedisGraph: A High Performance In-Memory Graph Database](http://github.com/RedisGraph/RedisGraph/blob/master/docs/docs/design/_index.md). ### Client specification RedisGraph client libraries should follow the [Technical specification for writing RedisGraph client libraries](http://github.com/RedisGraph/RedisGraph/blob/master/docs/docs/design/client_spec.md). ### Result set structure [RedisGraph result set structure](http://github.com/RedisGraph/RedisGraph/blob/master/docs/docs/design/result_structure.md) describes the format RedisGraph uses to print data when using `redis-cli`. ### GRAPH.BULK endpoint You can import new graphs from CSV files using `redisgraph-bulk-loader`. See the [`GRAPH.BULK` implementation details](http://github.com/RedisGraph/RedisGraph/blob/master/docs/docs/design/bulk_spec.md) for more information. ## Data types RedisGraph supports a number of distinct data types, including: - Graph types: - Nodes - Relationships - Paths - Scalar types: - Strings - Booleans - Integers - Floating-point values - Geospatial points - Null - Collection types: - Arrays - Maps See [RedisGraph data types](http://github.com/RedisGraph/RedisGraph/blob/master/docs/docs/datatypes.md) for details. ## Cypher coverage RedisGraph implements a subset of the Cypher language. See [Cypher coverage](http://github.com/RedisGraph/RedisGraph/blob/master/docs/docs/cypher_support.md) for more information. ## Path algorithms To learn how to find single-pair and single-source paths using `algo.SPpaths` and `algo.SSpaths`, see [Path algorithms](http://github.com/RedisGraph/RedisGraph/blob/master/docs/docs/path_algorithm.md). ## Known limitations RedisGraph has several [known limitations](http://github.com/RedisGraph/RedisGraph/blob/master/docs/docs/known_limitations.md). ## More info - [Graph quick start](http://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/deprecated-features/graph/graph-quickstart) - [RedisGraph documentation on GitHub](http://github.com/RedisGraph/RedisGraph/tree/master/docs/docs) - [References](http://github.com/RedisGraph/RedisGraph/blob/master/docs/docs/References.md) - [RedisGraph source](http://github.com/RedisGraph/RedisGraph/)