CESI: Intro Big Data - ajout tuile + exercice BDD orientée graphe
This commit is contained in:
@ -0,0 +1,7 @@
|
||||
version: '2.2'
|
||||
services:
|
||||
cayley:
|
||||
image: quay.io/cayleygraph/cayley
|
||||
ports:
|
||||
- 64210:64210
|
||||
command: [ "--verbose", "10", "-l", "10" ]
|
44
cesi/intro_big_data/ressources/cayley-compose/queries.md
Normal file
44
cesi/intro_big_data/ressources/cayley-compose/queries.md
Normal file
@ -0,0 +1,44 @@
|
||||
# Gizmo
|
||||
|
||||
## Trouver les plats préférés de chaque personne
|
||||
|
||||
```js
|
||||
g.V().Has("<has_favorite_dish>").Tag("source").Out("<has_favorite_dish>").Tag("target").All()
|
||||
```
|
||||
|
||||
## Afficher l'ensemble des relations du réseau social
|
||||
|
||||
```js
|
||||
g.V().Has("<friend_of>").Tag("source").Out("<friend_of>").Tag("target").All()
|
||||
```
|
||||
|
||||
## Trouver les amis des amis de Jean
|
||||
|
||||
```js
|
||||
g.V("<jean>").Tag("source").Out("<friend_of>").ForEach(function(directFriend) {
|
||||
|
||||
g.Emit({ id: directFriend.id, source: "<jean>", target: directFriend.id });
|
||||
|
||||
g.V(directFriend.id).Out("<friend_of>").ForEach(function(friendOfFriend) {
|
||||
g.Emit({id: friendOfFriend.id, source: directFriend.id, target: friendOfFriend.id });
|
||||
});
|
||||
|
||||
});
|
||||
```
|
||||
|
||||
## Trouver les amis des amis de Jean qui aiment un plat commun
|
||||
|
||||
```js
|
||||
var jean = g.V("<jean>");
|
||||
var jeanFavoriteDishes = jean.Out("<has_favorite_dish>");
|
||||
|
||||
jean.Out("<friend_of>").ForEach(function(directFriend) {
|
||||
g.V(directFriend.id).Out("<friend_of>").ForEach(function(friendOfFriend) {
|
||||
jeanFavoriteDishes.Intersect(g.V(friendOfFriend.id).Out("<has_favorite_dish>")).ForEach(function(favoriteDish) {
|
||||
g.Emit({ id: directFriend.id, source: "<jean>", target: directFriend.id });
|
||||
g.Emit({ id: friendOfFriend.id, source: directFriend.id, target: friendOfFriend.id });
|
||||
g.Emit({ id: favoriteDish.id, source: friendOfFriend.id, target: favoriteDish.id });
|
||||
});
|
||||
});
|
||||
});
|
||||
```
|
21
cesi/intro_big_data/ressources/cayley-compose/social.nquad
Normal file
21
cesi/intro_big_data/ressources/cayley-compose/social.nquad
Normal file
@ -0,0 +1,21 @@
|
||||
<jean> <friend_of> <silvia> .
|
||||
<silvia> <friend_of> <jean> .
|
||||
<camille> <friend_of> <charlie> .
|
||||
<charlie> <friend_of> <camille> .
|
||||
<camille> <friend_of> <charlie> .
|
||||
<charlie> <friend_of> <jean> .
|
||||
<jean> <friend_of> <charlie> .
|
||||
<nicolas> <friend_of> <camille> .
|
||||
<camille> <friend_of> <nicolas> .
|
||||
<nicolas> <friend_of> <silvia> .
|
||||
<silvia> <friend_of> <nicolas> .
|
||||
|
||||
<jean> <has_age> 25 .
|
||||
<camille> <has_age> 30 .
|
||||
<silvia> <has_age> 26 .
|
||||
<charlie> <has_age> 32 .
|
||||
|
||||
<jean> <has_favorite_dish> "Boeuf bourguignon" .
|
||||
<camille> <has_favorite_dish> "Boeuf bourguignon" .
|
||||
<silvia> <has_favorite_dish> "Gateau au chocolat" .
|
||||
<charlie> <has_favorite_dish> "Crepe" .
|
Reference in New Issue
Block a user