You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Goal
We incorporate reviews, edits, and changes mostly from @farost and
@sam-butcher comments that improve the get-started and driver
core-concepts sections' usability and readability.
Copy file name to clipboardExpand all lines: new_core_concepts/modules/ROOT/pages/drivers/overview.adoc
+8-3Lines changed: 8 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
7
7
== What are TypeDB drivers?
8
8
9
-
TypeDB drivers are client libraries that enable applications to communicate with TypeDB servers. They provide a programming language-specific interface for all database operations, from connection management to query execution.
9
+
TypeDB drivers are client libraries that enable applications to communicate with TypeDB servers. They provide a programming language-specific interface for all server operations, from connection management to query execution.
10
10
11
11
Key responsibilities of a TypeDB driver include:
12
12
@@ -17,6 +17,8 @@ Key responsibilities of a TypeDB driver include:
17
17
* **Error handling**: Converting server errors into language-specific exceptions
18
18
* **Resource management**: Properly managing network resources and memory
19
19
20
+
They also allow you to manage databases and users.
21
+
20
22
== Communication endpoints
21
23
22
24
TypeDB servers expose two different endpoints for client communication:
@@ -63,8 +65,11 @@ TypeDB Server
63
65
64
66
TypeDB's gRPC drivers are implemented as FFI (Foreign Function Interface) wrappers around a shared Rust driver core, enabling the core logic, validation, and error handling to be implemented once and exposed into each language with a thin wrapper.
65
67
66
-
This means that your driver may be platform (eg. OS and CPU architecture) specific, and make your application non-portable.
67
-
However, this is typically not a problem - Rust compiles per-platform or is distributed as source, Python applications are usually distributed as source, and the Java driver is specifically built to support major platforms to allow shipping built Java applications.
68
+
This means that your driver may be platform (eg. OS and CPU architecture) specific, and make your application non-portable. However, this is typically not a problem:
69
+
70
+
- Rust compiles per-platform or is distributed as source.
71
+
- Python applications are usually distributed as source.
72
+
- The Java driver is specifically built to support major platforms to allow shipping built Java applications.
Copy file name to clipboardExpand all lines: new_core_concepts/modules/ROOT/pages/drivers/transactions.adoc
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ After opening a driver with the correct configuration and credentials, you can o
12
12
13
13
TypeDB provides three distinct transaction types, each with specific capabilities:
14
14
15
-
[cols="3,2"]
15
+
[cols="1,3"]
16
16
|===
17
17
|Type |Capabilities
18
18
@@ -39,7 +39,7 @@ a|* Execute read queries +
39
39
40
40
=== ACID guarantees
41
41
42
-
TypeDB transactions provide ACID guarantees up to **snapshot isolation**. For more details, see the server xref::{page-version}@new_core_concepts/typedb/transactions.adoc[Transaction] documentation.
42
+
TypeDB transactions provide ACID guarantees up to **snapshot isolation**. For more details, see the server xref:{page-version}@new_core_concepts::typedb/transactions.adoc[Transaction] documentation.
In order to insert a friendship, we need to refer to users that will play the role of friends in the friendship.
175
178
That's where variables come into play!
176
179
177
-
[Note]
178
-
-----
179
180
Recall that each friendship takes exactly two friends as specified in the schema; feel free to experiment though, and see what error messages TypeDB will give you when trying to insert triple friendships.
180
-
-----
181
181
182
182
[,typeql]
183
183
----
@@ -198,10 +198,7 @@ Console::
198
198
In order to insert a friendship, we need to refer to users that will play the role of friends in the friendship.
199
199
That's where variables come into play!
200
200
201
-
[Note]
202
-
-----
203
201
Recall that each friendship takes exactly two friends as specified in the schema; feel free to experiment though, and see what error messages TypeDB will give you when trying to insert triple friendships.
Copy file name to clipboardExpand all lines: new_home/modules/ROOT/pages/get_started/overview.adoc
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,8 +17,8 @@ The following outline serves both as an example of the main things you'll do wit
17
17
and a quick outline of the following Get Started guide - if you just want to speed through right here you can, though we recommend following the full guide!
The fetch clause lets you lay out the exact JSON document you need for your application, making it easy to retrieve additional data such as optional attributes or answers from subqueries.
653
-
654
659
--
655
660
Console::
656
661
+
@@ -679,38 +684,38 @@ fetch {
679
684
};
680
685
# end::fetch1[]
681
686
682
-
# tag::fetch_1_result[]
687
+
# tag::fetch1_result[]
683
688
{
689
+
"username": "alice",
684
690
"friends": [
685
691
{
686
-
"friend": "bob78"
692
+
"friend": "bob"
687
693
},
688
694
{
689
-
"friend": "deltaonenine"
695
+
"friend": "delta"
690
696
}
691
-
],
692
-
"username": "alice1925"
697
+
]
693
698
}
694
699
{
700
+
"username": "bob",
695
701
"friends": [
696
702
{
697
-
"friend": "alice1925"
703
+
"friend": "alice"
698
704
},
699
705
{
700
-
"friend": "deltaonenine"
706
+
"friend": "delta"
701
707
}
702
-
],
703
-
"username": "bob78"
708
+
]
704
709
}
705
710
{
706
-
"username": "candice001",
711
+
"username": "charlene",
707
712
"friends": [
708
713
{
709
-
"friend": "deltaonenine"
714
+
"friend": "delta"
710
715
}
711
716
]
712
717
}
713
-
#end::fetch_1_result[]
718
+
#end::fetch1_result[]
714
719
----
715
720
////
716
721
[,typeql]
@@ -719,11 +724,19 @@ fetch {
719
724
include::./query-composition.adoc[tag=fetch1]
720
725
----
721
726
722
-
The fetch clause lets you lay out the exact JSON document you need for your application, making it easy to retrieve additional data such as optional attributes or answers from subqueries.
727
+
This query now returns a sequence of JSON documents:
The fetch clause lets you lay out the exact JSON document you need for your application, making it easy to retrieve additional data such as optional attributes or answers from subqueries.
738
+
739
+
727
740
== What next?
728
741
There is much more to explore in the world of TypeDB, including building custom query logic using disjunctions and negations, the deep exploration of data connection using functional recursion, and more.
0 commit comments