Skip to content

Commit 89dcc7a

Browse files
authored
Merge pull request #268 from tigergraph/DOC-2415-updating-from-syntax-of-the-examples-to-v3
DOC-2415: Updated FROM syntax to v3
2 parents 8fe195a + cc0376b commit 89dcc7a

27 files changed

+75
-75
lines changed

modules/appendix/examples/computer_net/select_statement_index_sample_edges_per_source_vertex.gsql

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ CREATE QUERY sample_ex_3() FOR GRAPH Computer_Net {
99
start = {Computer.*};
1010

1111
// Sample one outgoing edge per source vertex = Random Walk
12-
abs_sample = SELECT v FROM start:s -(:e)- :v
12+
abs_sample = SELECT v FROM (s:start) -[e]- (v)
1313
SAMPLE 1 EDGE WHEN s.outdegree() >= 1 // sample 1 target vertex from each source vertex
1414
ACCUM
1515
@@abs_edges += (s.id -> v.id),

modules/appendix/examples/friend_net/select_statement_index_limit_lower_bound_and_size.gsql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CREATE QUERY limit_ex_2 (INT j, INT k) FOR GRAPH Friend_Net
22
{
33
start = {Person.*};
4-
result2 = SELECT v FROM start:v
4+
result2 = SELECT v FROM (v:start)
55
ORDER BY v.id
66
LIMIT j, k;
77

modules/appendix/examples/friend_net/select_statement_index_limit_with_offset.gsql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CREATE QUERY limit_ex_3 (INT j, INT k) FOR GRAPH Friend_Net {
22
start = {Person.*};
33

4-
result3 = SELECT v FROM start:v
4+
result3 = SELECT v FROM (v:start)
55
ORDER BY v.id
66
LIMIT k OFFSET j;
77

modules/appendix/examples/friend_net/select_statement_index_limt_by.gsql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CREATE QUERY limit_ex_1 (INT k) FOR GRAPH Friend_Net {
22
start = {Person.*};
33

4-
result1 = SELECT v FROM start:v
4+
result1 = SELECT v FROM (v:start)
55
ORDER BY v.id
66
LIMIT k;
77

modules/appendix/examples/friend_net/select_statement_index_order_by_descending.gsql

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ CREATE QUERY top_popular() FOR GRAPH Friend_Net {
33
SumAccum<INT> @num_coworkers;
44
start = {Person.*};
55

6-
result = SELECT v FROM start -((Friend|Coworker):e)- Person:v
6+
result = SELECT v FROM (:start) -[e:Friend|Coworker]- (v:Person)
77
ACCUM CASE
88
WHEN e.type == "Friend" THEN v.@num_friends += 1
99
WHEN e.type == "Coworker" THEN v.@num_coworkers += 1
1010
END
1111
ORDER BY v.@num_friends DESC, v.@num_coworkers DESC;
1212

1313
PRINT result;
14-
}
14+
}
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
CREATE QUERY accum_wrong_example() SYNTAX v2 {
1+
CREATE QUERY accum_wrong_example() SYNTAX v3 {
22
SumAccum<INT> @@count_total;
33
SumAccum<INT> @active_flag = 0;
44

55
result = SELECT p
6-
FROM Person: p - (KNOWS) - Person: w
6+
FROM (p:Person) -[:KNOWS]- (w:Person)
77
WHERE w.lastName == "Wang" AND p.firstName == "Peter"
88
ACCUM p.@active_flag += 1,
9-
@@count_total += p.@active_flag; // <1>
9+
@@count_total += p.@active_flag; // <1>
1010
PRINT @@count_total, result[result.@active_flag];
11-
}
11+
}
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
CREATE QUERY accum_example() SYNTAX v2 {
1+
CREATE QUERY accum_example() SYNTAX v3 {
22
SumAccum<INT> @@count_total;
33
SumAccum<INT> @active_flag = 0;
44

55
result = SELECT p
6-
FROM Person: p - (KNOWS) - Person: w
6+
FROM (p:Person) -[:KNOWS]- (w:Person)
77
WHERE w.lastName == "Wang" AND p.firstName == "Peter"
88
ACCUM p.@active_flag += 1
99
POST-ACCUM @@count_total += p.@active_flag;
1010
PRINT @@count_total, result[result.@active_flag];
11-
}
11+
}

modules/appendix/examples/ldbc_snb/select_statement_index_three_post_accum_clauses.gsql

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ INTERPRET QUERY () {
44
SumAccum<INT> @cnt2;
55
SumAccum<INT> @@global_t_count;
66

7-
R = SELECT s
8-
FROM Person:s-(Likes>) -:msg - (Has_Creator>)-Person:t
7+
R = SELECT s
8+
FROM (s:Person) -[:Likes]\-> (:msg) -[:Has_Creator]\-> (t:Person)
99
WHERE s.first_name == "Viktor" AND s.last_name == "Akhiezer"
1010
AND t.last_name LIKE "S%" AND year(msg.creation_date) == 2012
1111
ACCUM s.@cnt1 +=1 //execute this per match of the FROM pattern.
1212
POST-ACCUM s.@cnt2 += s.@cnt1 // <1>
1313
POST-ACCUM t.@cnt2 +=1 // <2>
1414
POST-ACCUM(t) @@global_t_count += 1; // <3>
1515

16-
PRINT R [R.first_name, R.last_name, R.@cnt1, R.@cnt2];
17-
}
16+
PRINT R [R.first_name, R.last_name, R.@cnt1, R.@cnt2];
17+
}

modules/appendix/examples/social_net/select_statement_index_accum_vertex_accum_edge.gsql

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ CREATE QUERY user_posts_2() FOR GRAPH Social_Net {
55
start = {Person.*};
66

77
// Find all user post topics and append them to the vertex list accum
8-
user_postings = SELECT s FROM start:s -(Posted)- :g
8+
user_postings = SELECT s FROM (s:start) -[:Posted]- (g)
99
ACCUM s.@person_posts += g;
1010

11-
user_postings = SELECT s from start:s -(Liked:e)- :g
11+
user_postings = SELECT s FROM (s:start) -[e:Liked]- (g)
1212
ACCUM s.@person_liked_info += e;
1313

1414
PRINT start;
15-
}
15+
}

modules/appendix/examples/social_net/select_statement_index_global_accum.gsql

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ CREATE QUERY user_posts_by_topic() FOR GRAPH Social_Net {
44
start = {Person.*};
55

66
// Append subject and update the appearance count in the global map accum
7-
posts = SELECT g FROM start -(Posted)- :g
7+
posts = SELECT g FROM (:start) -[:Posted]- (g)
88
ACCUM @@post_topic_counts += (g.subject -> 1);
99

1010
PRINT @@post_topic_counts;
11-
}
11+
}

modules/appendix/examples/social_net/select_statement_index_global_post_accum.gsql

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ CREATE QUERY person_gender(STRING gender) FOR GRAPH Social_Net {
55
start = {ANY};
66

77
// Select all person vertices and check the gender attribute
8-
friends = SELECT v FROM start:v
8+
friends = SELECT v FROM (v:start)
99
WHERE v.type == "Person"
1010
POST-ACCUM (v) CASE
1111
WHEN (v.gender == gender) THEN
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
CREATE QUERY active_members (INT activity_threshold) FOR GRAPH Social_Net {
22
SumAccum<INT> @activity_amount;
33
start = {Person.*};
4-
result = SELECT v FROM start:v -(:e)- Post:tgt
4+
result = SELECT v FROM (v:start) -[e]- (tgt:Post)
55
ACCUM v.@activity_amount +=1
66
HAVING v.@activity_amount >= activity_threshold;
77
PRINT result;
8-
}
8+
}

modules/appendix/examples/social_net/select_statement_index_having_literal.gsql

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ CREATE QUERY print_member_activity() FOR GRAPH Social_Net
44
start = {Person.*};
55

66
/* --- equivalent statements -----
7-
result = SELECT v FROM start:v -(:e)- Post:tgt
7+
result = SELECT v FROM (v:start) -[e]- (tgt:Post)
88
ACCUM v.@activity_amount +=1
99
HAVING true; */
1010

11-
result = SELECT v FROM start:v -(:e)- Post:tgt
11+
result = SELECT v FROM (v:start) -[e]- (tgt:Post)
1212
ACCUM v.@activity_amount +=1;
1313

1414
PRINT result;

modules/appendix/examples/social_net/select_statement_index_having_vs_where.gsql

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ CREATE QUERY active_male_members() FOR GRAPH Social_Net
33
SumAccum<INT> @activity_amount;
44
start = {Person.*};
55
// The two statements produce equivalent results
6-
result1 = SELECT v FROM start:v -(:e)- Post:tgt
6+
result1 = SELECT v FROM (v:start) -[e:]-> (tgt:Post)
77
WHERE v.gender == "Male"
88
ACCUM v.@activity_amount +=1;
99

10-
result2 = SELECT v FROM start:v -(:e)- Post:tgt
10+
result2 = SELECT v FROM (v:start) -[e:]-> (tgt:Post)
1111
ACCUM v.@activity_amount +=1
1212
HAVING v.gender == "Male";
1313

modules/appendix/examples/social_net/select_statement_index_multiple_edge_type_accum_compilable.gsql

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ CREATE QUERY multiple_edge_type_check_ex_2(VERTEX<Person> m1) FOR GRAPH Social_N
22
ListAccum<STRING> @@test_list1;
33
all_user = {m1};
44
all_user = SELECT s
5-
FROM all_user:s - ((Posted|Liked|Friend):e) - (Post|Person):t
5+
FROM (s:all_user) -[e:Posted|Liked|Friend]- (t:Post|Person)
66
ACCUM CASE
77
WHEN e.type == "Liked" THEN // for Liked edges
88
@@test_list1 += to_string(datetime_to_epoch(e.action_time))
@@ -12,4 +12,4 @@ CREATE QUERY multiple_edge_type_check_ex_2(VERTEX<Person> m1) FOR GRAPH Social_N
1212
@@test_list1 += to_string(datetime_to_epoch(t.post_time))
1313
END;
1414
PRINT @@test_list1;
15-
}
15+
}

modules/appendix/examples/social_net/select_statement_index_multiple_edge_type_accum_error.gsql

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ CREATE QUERY multiple_edge_type_check_ex (VERTEX<Person> m1) FOR GRAPH Social_Ne
22
ListAccum<STRING> @@test_list_1, @@test_list_2, @@test_list_3;
33
all_user = {m1};
44
all_user = SELECT s
5-
FROM all_user:s - ((Posted|Liked|Friend):e) - (Post|Person):t
5+
FROM (s:all_user) -[e:Posted|Liked|Friend]- (t:Post|Person)
66
ACCUM @@test_list_1 += to_string(datetime_to_epoch(e.action_time)),
77
@@test_list_2 += t.gender,
88
@@test_list_3 += to_string(datetime_to_epoch(e.action_time)) + t.gender // <1>
99
;
1010
PRINT @@test_list_1, @@test_list_2, @@test_list_3;
11-
}
11+
}

modules/appendix/examples/social_net/select_statement_index_updating_indirect_reference_vertex.gsql

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,19 @@ CREATE QUERY v_update_indirect_accum() FOR GRAPH Social_Net {
66
persons = {Person.*};
77
// To each post, attach a list of persons who liked the post
88
liked_posts = SELECT p
9-
FROM persons:src -(Liked:e)- Post:p
9+
FROM (src:persons) -[e:Liked]\-> (p:Post)
1010
ACCUM
1111
p.@posters += src;
1212

1313
// To each person who liked a post, attach a list of everyone
1414
// who also liked one of this person's liked posts.
1515
liked_posts = SELECT src
16-
FROM liked_posts:src
16+
FROM (src:liked_posts)
1717
ACCUM
1818
FOREACH v IN src.@posters DO
1919
v.@fellows += src.@posters
2020
END
2121
ORDER BY src.subject;
2222

2323
PRINT persons[persons.@fellows];
24-
}
24+
}

modules/appendix/examples/social_net/select_statement_index_vertex_accum_example.gsql

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ CREATE QUERY user_posts() FOR GRAPH Social_Net {
44
start = {Person.*};
55

66
// Find all user post topics and append them to the vertex list accum
7-
user_postings = SELECT s FROM start:s -(Posted)- :g
7+
user_postings = SELECT s FROM (s:start) -[:Posted]- (g)
88
ACCUM s.@person_posts += g.subject;
99

1010
PRINT user_postings;
11-
}
11+
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
CREATE QUERY print_cat_posts() FOR GRAPH Social_Net {
2-
cat_posts = SELECT v FROM Post:v // select only those post vertices
2+
cat_posts = SELECT v FROM (v:Post) // select only those post vertices
33
WHERE v.subject == "cats"; // which have a subset of 'cats'
44
PRINT cat_posts;
55
}

modules/appendix/examples/social_net/select_statement_index_where_and_or.gsql

+19-19
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,42 @@ CREATE QUERY find_female_members() FOR GRAPH Social_Net
55
// are equivalent (i.e., produce the same results)
66

77
all_vertices = {ANY}; # includes all posts and person
8-
females = SELECT v FROM all_vertices:v
8+
females = SELECT v FROM (v:all_vertices)
99
WHERE v.type == "Person" AND v.gender != "Male";
1010

11-
females = SELECT v FROM all_vertices:v
11+
females = SELECT v FROM (v:all_vertices)
1212
WHERE v.type == "Person" AND v.gender == "Female";
1313

14-
females = SELECT v FROM all_vertices:v
14+
females = SELECT v FROM (v:all_vertices)
1515
WHERE v.type == "Person" AND
1616
NOT v.gender == "Male";
1717

18-
females = SELECT v FROM all_vertices:v
18+
females = SELECT v FROM (v:all_vertices)
1919
WHERE v.type != "Post" AND
2020
NOT v.gender == "Male";
2121

2222
/* does not compile. cannot use NOT operator in combination with type attribute
23-
females = SELECT v FROM all_vertices:v
24-
WHERE NOT v.type != "Person" AND
25-
NOT v.gender == "Male";
23+
females = SELECT v FROM (v:all_vertices)
24+
WHERE NOT v.type != "Person" AND
25+
NOT v.gender == "Male";
2626

2727
does not compile. cannot use NOT operator in combination with type attribute
28-
females = SELECT v FROM all_vertices:v
29-
WHERE NOT v.type == "Post" AND
30-
NOT v.gender == "Male"; */
28+
females = SELECT v FROM (v:all_vertices)
29+
WHERE NOT v.type == "Post" AND
30+
NOT v.gender == "Male";
3131

3232
person_vertices = {Person.*};
33-
females = SELECT v FROM person_vertices:v
34-
WHERE NOT v.gender == "Male";
33+
females = SELECT v FROM (person_vertices:v)
34+
WHERE NOT v.gender == "Male";
3535

36-
females = SELECT v FROM person_vertices:v
37-
WHERE v.gender != "Male";
36+
females = SELECT v FROM (person_vertices:v)
37+
WHERE v.gender != "Male";
3838

39-
females = SELECT v FROM person_vertices:v
40-
WHERE v.gender != "Male" AND true;
39+
females = SELECT v FROM (person_vertices:v)
40+
WHERE v.gender != "Male" AND true;
4141

42-
females = SELECT v FROM person_vertices:v
43-
WHERE v.gender != "Male" OR false;
42+
females = SELECT v FROM (person_vertices:v)
43+
WHERE v.gender != "Male" OR false;
4444

4545
PRINT females;
46-
}
46+
}

modules/appendix/examples/social_net/select_statement_index_where_multiple_edge_type.gsql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CREATE QUERY multiple_edge_type_where_ex(VERTEX<Person> m1) FOR GRAPH Social_Net {
22
all_user = {m1};
33
filtered_user = SELECT s
4-
FROM all_user:s - ((Posted|Liked|Friend):e) - (Post|Person):t
4+
FROM (s:all_user) -[e:Posted|Liked|Friend]-> (t:Post|Person)
55
// WHERE e.action_time > epoch_to_datetime(1) AND t.gender == "Male";
66
WHERE ( e.type == "Liked" AND e.action_time > epoch_to_datetime(1) ) OR
77
( e.type == "Friend" AND t.gender == "Male" );
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
CREATE QUERY find_graph_focused_posts() FOR GRAPH Social_Net {
2-
results = SELECT v FROM Post:v // select only post vertices
3-
WHERE v.subject IN ("Graph", "tigergraph"); // which have a subject of either 'Graph' or 'tigergraph'
4-
PRINT results;
2+
results = SELECT v FROM (v:Post) // select only post vertices
3+
WHERE v.subject IN ("Graph", "tigergraph"); // which have a subject of either 'Graph' or 'tigergraph'
4+
PRINT results;
55
}

modules/appendix/examples/work_net/select_statement_index_absolute_number_edges.gsql

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ CREATE QUERY sample_ex_1() FOR GRAPH Work_Net {
66
// the 'before_sample' result set encapsulates the normal functionality of
77
// a SELECT statement, where 'times_traversed_no_sample' vertex accumulator is increased for
88
// each edge incident to the vertex.
9-
before_sample = SELECT v FROM workers:t -(:e)- :v
9+
before_sample = SELECT v FROM (t:workers) -[e]- (v)
1010
ACCUM v.@times_traversed_no_sample += 1;
1111

1212
// The 'after_sample' result set is formed by those vertices which can be
1313
// reached when for each source vertex, only one edge is used for traversal.
1414
// This is demonstrated by the values of 'times_traversed_with_sample' vertex accumulator, which
1515
// is increased for each edge incident to the vertex which is used in the
1616
// sample.
17-
after_sample = SELECT v FROM workers:t -(:e)- :v
17+
after_sample = SELECT v FROM (t:workers) -[e]- (v)
1818
SAMPLE 1 EDGE WHEN t.outdegree() >= 1 // only use 1 edge from the source vertex
1919
ACCUM v.@times_traversed_with_sample += 1;
2020

modules/appendix/examples/work_net/select_statement_index_vertex_post_accum.gsql

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ CREATE QUERY resident_employees() FOR GRAPH Work_Net {
66

77
start = {Person.*};
88

9-
employees = SELECT s FROM start:s -(Works_For)- :c
9+
employees = SELECT s FROM (s:start) -[:Works_For]- (c)
1010
// If a person works for a company in the same country where they live, add the company to the list
1111
ACCUM CASE
1212
WHEN (s.location_id == c.country) THEN
@@ -22,4 +22,4 @@ CREATE QUERY resident_employees() FOR GRAPH Work_Net {
2222
END;
2323

2424
PRINT employees WHERE (employees.@works_and_lives == TRUE);
25-
}
25+
}

modules/appendix/examples/work_net/select_statement_index_where_using_edge_attributes.gsql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CREATE QUERY full_time_workers() FOR GRAPH Work_Net {
22
// find all workers who are full time at some company
33
start = {Person.*};
4-
full_time_workers = SELECT v FROM start:v -(Works_For:e)- Company:t
4+
full_time_workers = SELECT v FROM (v:start) -[e:Works_For]- (t:Company)
55
WHERE e.full_time; // full_time is a boolean attribute on the edge
66

77
PRINT full_time_workers;

modules/querying/pages/img.png

86.2 KB
Loading

0 commit comments

Comments
 (0)