Add a chapter in user documentation on data types
Reviewers: florijan, buda Reviewed By: florijan Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D564
This commit is contained in:
parent
a7d8b7124e
commit
0324b61e0b
@ -11,6 +11,7 @@ data structures, multi-version concurrency control and asynchronous IO.
|
||||
* [About Memgraph](#about-memgraph)
|
||||
* [Installation](installation.md)
|
||||
* [Quick Start](quick-start.md)
|
||||
* [Storable Data Types](data-types.md)
|
||||
* [openCypher Query Language](open-cypher.md)
|
||||
* [Upcoming Features](upcoming-features.md)
|
||||
|
||||
|
36
docs/user_technical/data-types.md
Normal file
36
docs/user_technical/data-types.md
Normal file
@ -0,0 +1,36 @@
|
||||
## Storable Data Types
|
||||
|
||||
Since *Memgraph* is a *graph* database management system, data is stored in
|
||||
the form of graph elements: nodes and edges. Each graph element can also
|
||||
contain various types of data. This chapter describes which data types are
|
||||
supported in *Memgraph*.
|
||||
|
||||
### Node Labels & Edge Types
|
||||
|
||||
Each node can have any number of labels. A label is a text value, which can be
|
||||
used to *label* or group nodes according to users' desires. A user can change
|
||||
labels at any time. Similarly to labels, each edge can have a type,
|
||||
represented as text. Unlike nodes, which can have multiple labels or none at
|
||||
all, edges *must* have exactly one edge type. Another difference to labels, is
|
||||
that the edge types are set upon creation and never modified again.
|
||||
|
||||
### Properties
|
||||
|
||||
Nodes and edges can store various properties. These are like mappings or
|
||||
tables containing property names and their accompanying values. Property names
|
||||
are represented as text, while values can be of different types. Each property
|
||||
name can store a single value, it is not possible to have multiple properties
|
||||
with the same name on a single graph element. Naturally, the same property
|
||||
names can be found across multiple graph elements. Also, there are no
|
||||
restrictions on the number of properties that can be stored in a single graph
|
||||
element. The only restriction is that the values must be of the supported
|
||||
types. Following is a table of supported data types.
|
||||
|
||||
Type | Description
|
||||
-----------|------------
|
||||
`Null` | Denotes that the property has no value. This is the same as if the property does not exist.
|
||||
`String` | A character string, i.e. text.
|
||||
`Boolean` | A Boolean value, either `true` or `false`.
|
||||
`Integer` | An integer number.
|
||||
`Float` | A floating-point number, i.e. a real number.
|
||||
`List` | A list containing any number of property values of any supported type. It can be used to store multiple values under a single property name.
|
@ -8,13 +8,13 @@ providing a powerful interface for working with graph based data.
|
||||
chapter contains the details of features which are implemented. Additionally,
|
||||
not yet supported features of the language are listed.
|
||||
|
||||
* [Reading existing Data](#reading-existing-data)
|
||||
* [Writing new Data](#writing-new-data)
|
||||
* [Reading Existing Data](#reading-existing-data)
|
||||
* [Writing New Data](#writing-new-data)
|
||||
* [Reading & Writing](#reading-amp-writing)
|
||||
* [Indexing](#indexing)
|
||||
* [Other Features](#other-features)
|
||||
|
||||
### Reading existing Data
|
||||
### Reading Existing Data
|
||||
|
||||
The simplest usage of the language is to find data stored in the
|
||||
database. For that purpose, the following clauses are offered:
|
||||
@ -188,7 +188,7 @@ Click
|
||||
[here](https://neo4j.com/docs/developer-manual/current/cypher/functions/aggregating/)
|
||||
for additional details on how aggregations work.
|
||||
|
||||
### Writing new Data
|
||||
### Writing New Data
|
||||
|
||||
For adding new data, you can use the following clauses.
|
||||
|
||||
@ -200,6 +200,9 @@ For adding new data, you can use the following clauses.
|
||||
You can still use the `RETURN` clause to produce results after writing, but it
|
||||
is not mandatory.
|
||||
|
||||
Details on which kind of data can be stored in *Memgraph* can be found in
|
||||
[Storable Data Types](data-types.md) chapter.
|
||||
|
||||
#### CREATE
|
||||
|
||||
This clause is used to add new nodes and edges to the database. The creation
|
||||
@ -209,6 +212,12 @@ For example, to create 2 new nodes connected with a new edge, use this query.
|
||||
|
||||
CREATE (node1) -[:edge_type]-> (node2)
|
||||
|
||||
Labels and properties can be set during creation using the same syntax as in
|
||||
[MATCH](#match) patterns. For example, creating a node with a label and a
|
||||
property:
|
||||
|
||||
CREATE (node :Label {property: "my property value"}
|
||||
|
||||
Additional information on `CREATE` is
|
||||
[here](https://neo4j.com/docs/developer-manual/current/cypher/clauses/create/).
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user