HTTPS clone URL
Subversion checkout URL
- Batch Implementation
- Code Examples
- Desired Implementations
- Event Implementation
- GML Reader and Writer Library
- Graph Indices
- Graph Morphisms
- Graph Transactions
- GraphML Reader and Writer Library
- GraphSON Reader and Writer Library
- Id Implementation
- InfiniteGraph Implementation
- JUNG Ouplementation
- Neo4j Implementation
- Neo4jBatch Implementation
- Neo4jHa Implementation
- OrientDB Implementation
- Partition Implementation
- Property Graph Implementations
- Property Graph Model
- Property Graph Model Test Suite
- PropertyGraphSail Ouplementation
- ReadOnly Implementation
- Release Notes
- Rexster Implementation
- Sail Implementation
- Sail Ouplementation
- Sparksee Implementation
- The Benefits of Blueprints
- The Major Differences Between Blueprints 1.x and 2.x
- Tuning Linux & the JVM for Graph Databases
- Vertex Query
Clone this wiki locally
In the world of graphs, there are numerous graph types. The diagram below describes the important feature of a collection of common graph types. Note that many of these types can be mixed and matched. For example, the property graph model of Blueprints can be seen as a vertex/edge-labeled/attributed, directed, multi-graph.
- half-edge graph: a unary edge graph where an edge connects only one vertex.
- multi-graph: when edges are labeled, the various ways in which vertices are related can be denoted.
- simple graph: the prototypical graph where an edge connects two vertices and no loops are allowed.
- weighted graph: used to represent strength of ties or transition probabilities.
- vertex-labeled graph: most every graph makes use of labeled vertices (e.g. an identifier)
- semantic graph: used to model cognitive structures such as the relationship between concepts and instances of a concept.
- vertex-attributed: used in applications where it is desirable to append non-relational metadata to a vertex.
- edge-labeled graph: provides the ability to denote the way in which two vertices are related (e.g. friendships, kinships, etc.).
- directed graph: orders the vertices connected by an edge to denote directionality.
- hypergraph: generalizes a binary graph to allow an edge to connect to an arbitrary number of vertices.
- undirected graph: the typical graph that is used when the relationship is symmetrical (e.g. friendship).
- resource description framework graph: a graph standard developed by the the World Wide Web consortium that denotes vertices and edges by Uniform Resource Identifiers (see Sail Implementation and Sail Ouplementation).
- edge-attributed graph: used in applications where its desirable to append non-relational metadata to an edge.
- pseudo graph: generally allowed in most disciplines to denote a reflexive relationship.
The property graph model is a convenient graph data model as it is easy to represent other graph types. The following diagram provides the morphisms that go from one graph type to another. Note that a hypergraph can be modeled using a property graph, though its not as straightforward as modeling other graph types.