SPARQL and RDF Support and Standards
AnzoGraph adheres to W3C RDF standards and implements standard SPARQL syntax and semantics as described in the W3C SPARQL 1.1 Query Language specification. AnzoGraph also extends the SPARQL 1.1 specification to support other features such as window aggregate functions, conditional expressions, named queries and views, inferencing (RDFS+), labeled property graphs (using the W3C RDF* proposed standard), and other graph algorithms.
For more basic information about SPARQL, the semantic web, or RDF, see the Cambridge Semantics Semantic University.
AnzoGraph also provides Cypher query language support, allowing you to query graph databases and data sets using Cypher commands, but taking advantage of AnzoGraph's high performance query execution and scalability. AnzoGraph supports the Bolt protocol to provide a Cypher-based CLI from which users can directly execute Cypher statements. Other Cypher applications that use the Bolt protocol can also execute both Cypher or SPARQL queries and other commands against AnzoGraph data. For more information on AnzoGraph Cypher language support, see Working with Cypher and the Movies Graph Database and the Cypher Language Reference (Preview).
AnzoGraph Graph Data and Supported Data Types
To provide the highest performance possible, by default, AnzoGraph stores all graphs and performs all analytic operations entirely in memory. Data is persisted to disk as a backup and graph data is automatically reloaded into memory whenever AnzoGraph is restarted, however, the data on disk is not accessed for SPARQL queries and other analytic operations. For details about database operations performed entirely in-memory, see Sizing Guidelines for In-Memory Storage.
As an alternative, when it is not feasible to operate on data entirely in-memory, AnzoGraph can also be configured to operate as a combined memory and disk-based graph database. In this configuration (called "Paged Data"), data is loaded into AnzoGraph and immediately persisted to disk. Graph data is then paged into memory as needed to perform SPARQL queries or other analytic operations. For details about database operations in paged data mode, see Sizing Guidelines for Disk-Based Storage (Preview).
Data loaded into AnzoGraph is stored as individual triples (subject, predicate, and object) in a default graph, or in one or more named graphs. (See Loading Data from Files and AnzoGraph Data Type Handling for the different methods in which you can load data from files and how different triple store values are mapped or converted to native RDF data types when they are stored in AnzoGraph.AnzoGraph supports a maximum length of 16K characters for triple store data values represented by either IRIs or URIs. There is also a limit of 64K on the number of unique predicate and graph URIs that can be stored in AnzoGraph.
AnzoGraph supports a maximum length of 16K characters for triple store data values represented by either IRIs or URIs. There is also a limit of 64K on the number of unique predicate and graph URIs that can be stored in AnzoGraph.