SlideShare a Scribd company logo
1 of 94
Download to read offline
Tomás Sabat
Graph Databases vs TypeDB
What you can’t do with graphs
Introduction
The Challenges of Working with a Graph Database
Modelling and Defining Schema
Reading Data
Inference
Structure (connectedness)
Meaning (naming and other definitions)
7
8
5 3
11
2 9 10
How is TypeDB different to a graph database?
Introduction
The Challenges of Working with a Graph Database
Modelling and Defining Schema
Reading Data
Inference
What’s wrong with graph databases?
Modelling complex data
Maintaining Consistency of Data
Writing Graph Queries
Graph databases are too low level
Introduction
The Challenges of Working with a Graph Database
Modelling and Defining Schema
Reading Data
Inference
TypeDB Model
Graph Model
The Graph Model
contains
Property
Graph relationships
Nodes
Properties
may have
organise
may have
contains
Thing
Entity Attribute Relation Role
sub sub sub
owns
plays
relates
sub sub sub sub
Rule
TypeDB Model
Graph Model
TypeDB abstract away the graph model
Mary married Peter on 2/2/2020
Mary married Peter on 2/2/2020
name:
“Mary”
name:
“Peter”
Person Person
MARRIED_TO
name:
“Mary”
name:
“Peter”
Person Person
Mary married Peter on 2/2/2020
MARRIED_TO
name:
“Mary”
name:
“Peter”
Person Person
date: 2/2/2020
Mary married Peter on 2/2/2020
MARRIED_TO
name:
“Mary”
name:
“Peter”
date: 2/2/2020
Person Person
person person
marriage
spouse spouse
date:
2/2/2020
name: Mary name: Peter
Mary married Peter on 2/2/2020
MARRIED_TO
name:
“Mary”
name:
“Peter”
date: 2/2/2020
Person Person
person person
marriage
spouse spouse
date:
2/2/2020
name: Mary name: Peter
Instead of nodes and edges, TypeDB implements a concept level entity-
relationship model
Mary married Peter on 2/2/2020
In a property graph, an edge is just a pair of vertices, a hyperedge is a set of vertices.
Ternary Relations
Relationship Types
company
company
supplying
part
supplier supplied
buyer
Relationship Types
Ternary Relations
company
company
supplying
part
supplier supplied
buyer
Relationship Types
Company
Supplying
Part
SUPPLIER
BUYER
Company
SUPPLIED
Ternary Relations
company
company
supplying
part
Company
Supplying
Part
SUPPLIER
BUYER
Company
SUPPLIED
supplier supplied
buyer
Relationship Types
We end up reifying the graph to represent the relation as a node
Ternary Relations
company
company
supplying
part
supplier supplied
buyer
Relationship Types
Company
Supplying
Part
SUPPLIER
BUYER
Company
SUPPLIED
define
company sub entity,
plays supplying:supplier,
plays supplying:buyer;
part sub entity,
plays supplying:supplied;
supplying sub relation,
relates supplier,
relates buyer,
relates supplied;
Ternary Relations
Relationship Types
Ternary Relations
(:Company)-[:SUPPLIER]->(:Supplying)
(:Company)-[:BUYER]->(:Supplying)
(:Part)<-[:SUPPLIED]-(:Supplying)
Relationship Types
Ternary Relations
(:Company)-[:SUPPLIER]->(:Supplying)
(:Company)-[:BUYER]->(:Supplying)
(:Part)<-[:SUPPLIED]-(:Supplying)
$supplier isa company;
$part isa part;
$buyer isa company;
(supplier: $supplier, supplied: $part, buyer: $buyer)
isa supplying;
Relationship Types
Ternary Relations
Nested Relations
Relationship Types
Relationship Types
located
marriage
person person
city
spouse spouse
locating
location
Nested Relations
Relationship Types
located
marriage
person person
city
spouse spouse
Person
Marriage
City:
London
MARRIED
MARRIED
Person
LOCATED_IN
locating
location
Nested Relations
located
marriage
person person
city
spouse spouse
Relationship Types
We end up reifying the graph to represent the relation as a node
locating
location
Person
Marriage
City:
London
MARRIED
MARRIED
Person
LOCATED_IN
Nested Relations
MARRIED
Relationship Types
located
marriage
person person
city
spouse spouse
MARRIED
locating
location
Person
Marriage
City:
London
MARRIED
MARRIED
Person
LOCATED_IN
define
city sub entity,
plays located:location;
person sub entity,
plays marriage:spouse;
marriage sub relation,
relates spouse,
plays located:locating;
located sub relation,
relates locating,
relates location;
Nested Relations
Relationship Types
Nested Relations
(:Person)-[:MARRIED]->(marriage:Marriage)<-
[:MARRIED]-(:PERSON)
(marriage)-[:LOCATED_IN]->(:City {name:"London"})
Relationship Types
Nested Relations
(:Person)-[:MARRIED]->(marriage:Marriage)<-
[:MARRIED]-(:PERSON)
(marriage)-[:LOCATED_IN]->(:City {name:"London"})
$london isa city, has name "London";
$marriage (spouse: $person1, spouse: $person2) isa
marriage;
($marriage, $london) isa located;
Relationship Types
Nested Relations
Type Hierarchies
vehicle
sub
car aircraft truck
sedan coupe
minivan
fixed-wing
jet-aircraft
garbage-
truck
heavy-truck
sub
sub
sub
sub
sub
sub
sub
sub
sub
Type Hierarchies
Type Hierarchies
vehicle
sub
car aircraft truck
sedan coupe
minivan
fixed-wing
jet-aircraft
garbage-
truck
heavy-truck
sub
sub
sub
sub
sub
sub
sub
sub
sub
define
vehicle sub entity;
car sub vehicle;
sedan sub car;
coupe sub car;
minivan sub car;
aircraft sub vehicle;
fixed-wing sub aircraft;
jet-aircraft sub aircraft;
truck sub vehicle;
garbage-truck sub truck;
heavy-truck sub truck;
Type Hierarchies
Insert type hierarchies
Type Hierarchies
Insert type hierarchies
CREATE (suzuki:Vehicle:Car:Minivan {name:"Maruti
Suzuki Ciaz"})
CREATE (audi:Vehicle:Car:Coupe {name:"Audi A5"})
CREATE (airplane:Vehicle:Airplane {name:"Concept
Airplane"})
CREATE (boeing:Vehicle:Airplane:Jet-aircraft
{name:"Boeing 747"})
CREATE (siku:Vehicle:Truck:Garbage-truck {name:"Siku
Super Bin"})
Type Hierarchies
Insert type hierarchies
CREATE (suzuki:Vehicle:Car:Minivan {name:"Maruti
Suzuki Ciaz"})
CREATE (audi:Vehicle:Car:Coupe {name:"Audi A5"})
CREATE (airplane:Vehicle:Airplane {name:"Concept
Airplane"})
CREATE (boeing:Vehicle:Airplane:Jet-aircraft
{name:"Boeing 747"})
CREATE (siku:Vehicle:Truck:Garbage-truck {name:"Siku
Super Bin"})
insert
$suzuki isa minivan, has name "Maruti Suzuki Ciaz";
$audi isa coupe, has name "Audi A5";
$aircraft isa aircraft, has name "Concept Airplane";
$boeing isa jet-aircraft, has name "Boeing 747";
$siku isa garbage-truck, has name "Siku Super Bin";
Type Hierarchies
Fetch all vehicles
Type Hierarchies
MATCH(vehicle:Vehicle) RETURN
Type Hierarchies
Fetch all vehicles
MATCH(vehicle:Vehicle) RETURN match $vehicle isa vehicle;
Type Hierarchies
Fetch all vehicles
MATCH(vehicle:Vehicle) RETURN match $vehicle isa vehicle;
But because your data isn’t validated, this Cypher query is unsafe!
Type Hierarchies
Fetch all vehicles
MATCH(vehicle:Vehicle) RETURN vehicle UNION MATCH
(vehicle:Car) RETURN vehicle UNION MATCH
(vehicle:Sedan) RETURN vehicle UNION MATCH
(vehicle:Coupe) RETURN vehicle UNION MATCH
(vehicle:Minivan) RETURN vehicle UNION MATCH
(vehicle:Aircraft) RETURN vehicle UNION MATCH
(vehicle:Fixed-wing) RETURN vehicle UNION MATCH
(vehicle:Jet-aircraft) RETURN vehicle UNION MATCH
(vehicle:Truck) RETURN vehicle UNION MATCH
(vehicle:Garbage-truck) RETURN vehicle UNION MATCH
(vehicle:Heavy-truck) RETURN vehicle
match $vehicle isa vehicle;
Type Hierarchies
Fetch all vehicles
MATCH(vehicle:Vehicle) RETURN vehicle UNION MATCH
(vehicle:Car) RETURN vehicle UNION MATCH
(vehicle:Sedan) RETURN vehicle UNION MATCH
(vehicle:Coupe) RETURN vehicle UNION MATCH
(vehicle:Minivan) RETURN vehicle UNION MATCH
(vehicle:Aircraft) RETURN vehicle UNION MATCH
(vehicle:Fixed-wing) RETURN vehicle UNION MATCH
(vehicle:Jet-aircraft) RETURN vehicle UNION MATCH
(vehicle:Truck) RETURN vehicle UNION MATCH
(vehicle:Garbage-truck) RETURN vehicle UNION MATCH
(vehicle:Heavy-truck) RETURN vehicle
match $vehicle isa vehicle;
In Cypher, we’d be forced to decide between a long query with
certainty or a short version without.
Type Hierarchies
Fetch all vehicles
Relation Type Hierarchies
sub
employment
full-time part-time
sub
sub
employment
full-time part-time
sub
define
employment sub relation;
part-time-employment sub employment;
full-time-employment sub employment;
Relation Type Hierarchies
Fetch all persons in an employment relation
MATCH
(organisation)-[employs]->(employees)
WHERE
employs:PART_TIME_EMPLOYED
OR
employs:FULL_TIME_EMPLOYED
OR
employs:EMPLOYED
RETURN employees
Fetch all persons in an employment relation
MATCH
(organisation)-[employs]->(employees)
WHERE
employs:PART_TIME_EMPLOYED
OR
employs:FULL_TIME_EMPLOYED
OR
employs:EMPLOYED
RETURN employees
match
(employee: $person) isa employment;
get $person;
Fetch all persons in an employment relation
Introduction
The Challenges of Working with a Graph Database
Modelling and Defining Schema
Reading Data
Inference
Querying for Data
Who are Susan and Bob’s common friends?
Querying for Data
MATCH
(bob:Person {name:"Bob"})-[:KNOWS]->
(susan:Person {name:"Susan"})
-[:KNOWS]->(friend:Person),
(bob)-[:KNOWS]->(friend) RETURN friend
Who are Susan and Bob’s common friends?
Querying for Data
MATCH
(bob:Person {name:"Bob"})-[:KNOWS]->
(susan:Person {name:"Susan"})
-[:KNOWS]->(friend:Person),
(bob)-[:KNOWS]->(friend) RETURN friend
match
$bob isa person, has name "Bob";
$susan isa person, has name "Susan";
$friend isa person;
($bob, $susan) isa friendship;
($susan, $friend) isa friendship;
($friend, $bob) isa friendship;
get $friend;
Who are Susan and Bob’s common friends?
Querying for Data
Which movies have been released after 2002 in the Odeon Cinema by Pixar?
Querying for Data
MATCH
(cinema:Cinema {name:”Odeon London"}), (london:City
{name:"London"}), (pixar:Cinema {name:"Odeon"}),
(london) <-[:LOCATED_AT]-(cinema)
<-[:RELEASED_AT] -(movie:MOVIE) - [:PRODUCED_BY] ->
(pixar)
WHERE movie.year > 2002
RETURN movie.title
Which movies have been released after 2002 in the Odeon Cinema by Pixar?
Querying for Data
MATCH
(cinema:Cinema {name:”Odeon London"}), (london:City
{name:"London"}), (pixar:Cinema {name:"Odeon"}),
(london) <-[:LOCATED_AT]-(cinema)
<-[:RELEASED_AT] -(movie:MOVIE) - [:PRODUCED_BY] ->
(pixar)
WHERE movie.year > 2002
RETURN movie.title
match
$cinema isa cinema, has name "Odeon London";
$london isa city, has name "London";
$studio isa studio, has name "Pixar";
$movie isa movie, has title $title;
($london, $cinema) isa locating;
($cinema, $movie) isa release;
($movie, $studio) isa production, has year $year;
$year > 2002;
get $title;
Which movies have been released after 2002 in the Odeon Cinema by Pixar?
Querying for Data
city
locating
location
cinema
release
movie production studio
located
released
releasing
producer
produced
year > 2002
has
$title
has
“London”
has
“Odeon”
has
“Pixar”
has
Introduction
The Challenges of Working with a Graph Database
Modelling and Defining Schema
Reading Data
Inference
Rule Based Inferencing
Return all siblings
Rule Based Inferencing
MATCH
(sibling1:Person)-[:SIBLING_OF]->(sibling2:Person)
OR
(sibling3:Person)<-[:PARENT_OF]-(:Person)-
[:PARENT_OF]->(sibling4:Person)
RETURN
Return all siblings
Rule Based Inferencing
MATCH
(sibling1:Person)-[:SIBLING_OF]->(sibling2:Person)
OR
(sibling3:Person)<-[:PARENT_OF]-(:Person)-
[:PARENT_OF]->(sibling4:Person)
RETURN
match
(sibling: $sibling1, sibling: $sibling2) isa
siblingship;
Return all siblings
Rule Based Inferencing
$child
parenthood
$parent
siblingship
$child
p
a
r
e
n
t
h
o
o
d
Return all siblings
Rule Based Inferencing
rule siblingship:
when {
(parent: $parent, child: $child1) isa parenthood;
(parent: $parent, child: $child2) isa parenthood;
} then {
(sibling: $child1, sibling: $child2) isa
siblingship;
};
$child
parenthood
$parent
siblingship
$child
p
a
r
e
n
t
h
o
o
d
Return all siblings
Rule Based Inferencing
Return all cousins
Rule Based Inferencing
MATCH
(grandparent:Person)-[PARENT_OF)->(parent1:Person) -
[PARENT_OF]->(cousin1:Person),
(grandparent)-[PARENT_OF)->(parent2:Person) -
[PARENT_OF]->(cousin2:Person)
RETURN cousin1, cousin2
Return all cousins
Rule Based Inferencing
MATCH
(grandparent:Person)-[PARENT_OF)->(parent1:Person) -
[PARENT_OF]->(cousin1:Person),
(grandparent)-[PARENT_OF)->(parent2:Person) -
[PARENT_OF]->(cousin2:Person)
RETURN cousin1, cousin2
match
(cousin: $cousin1, cousin: $cousin2) isa cousinship;
Return all cousins
Rule Based Inferencing
$nephew
auntship
$parent
cousinship
$child
p
a
r
e
n
t
s
h
i
p
Return all cousins
Rule Based Inferencing
rule cousin-inferred:
when {
$parent isa person;
$child isa person;
$nephew isa person;
(parent: $parent, child: $child) isa parenthood;
(aunt: $parent, nephew: $nephew) isa auntship;
} then {
(cousin: $child, cousin: $nephew) isa cousinship;
};
$nephew
auntship
$parent
cousinship
$child
p
a
r
e
n
t
s
h
i
p
Return all cousins
Rule Based Inferencing
Chaining Rules
rule cousin-inferred:
when {
$parent isa person;
$child isa person;
$nephew isa person;
(parent: $parent, child: $child) isa parenthood;
(aunt: $parent, nephew: $nephew) isa auntship;
} then {
(cousin: $child, cousin: $nephew) isa cousinship;
};
$nephew
auntship
$parent
cousinship
$child
p
a
r
e
n
t
s
h
i
p
But what if one of these relations is inferred?
Rule Based Inferencing
$sibling
siblingship
$parent
auntship
$child
p
a
r
e
n
t
h
o
o
d
Chaining Rules
Rule Based Inferencing
rule aunt-niece:
when {
$child isa person, has gender ”female";
$parent isa person;
$sibling isa person;
(parent: $parent, child: $child) isa parenthood;
(sibling: $parent, sibling: $sibling) isa siblingship;
} then {
(niece: $child, aunt: $sibling) isa auntship;
};
$sibling
siblingship
$parent
auntship
$child
p
a
r
e
n
t
h
o
o
d
Chaining Rules
But we can also represent more complex business logic in rules
What are schedules that overlap?
MATCH
(sched1:Schedule), (sched2:Schedule)
WHERE
sched1.end > sched2.start
sched1.end <= sched2.end
RETURN
What are schedules that overlap?
MATCH
(sched1:Schedule), (sched2:Schedule)
WHERE
sched1.end > sched2.start
sched1.end <= sched2.end
RETURN
match $schedule isa schedule; ($schedule) isa overlaps;
get $schedule;
What are schedules that overlap?
Rule Based Inferencing
Overlapping Schedules
rule overlapping-schedule:
when {
$schedule1 isa schedule, has end $1End;
$schedule2 isa schedule, has start $2Start, has end
$2End;
$1End > $2Start;
$1End <= $2End;
} then {
($schedule1, $schedule2) isa overlaps;
};
Which disease risk factors does John Doe have?
Which disease risk factors does John Doe have?
The difference is the number of important operations
we can perform without thinking about them
Which disease risk factors does John Doe have?
𝑖𝑓 𝑎 𝑝𝑒𝑟𝑠𝑜𝑛 𝑐𝑜𝑛𝑠𝑢𝑚𝑒𝑠 𝑚𝑜𝑟𝑒 𝑡ℎ𝑎𝑛 10 𝑢𝑛𝑖𝑡𝑠 𝑜𝑓 𝑎𝑙𝑐𝑜ℎ𝑜𝑙 𝑝𝑒𝑟 𝑤𝑒𝑒𝑘
𝑡ℎ𝑒𝑛 𝑡ℎ𝑒𝑦 𝑎𝑟𝑒 𝑎𝑡 𝑟𝑖𝑠𝑘 𝑜𝑓 𝐷𝑖𝑎𝑏𝑒𝑡𝑒𝑠 𝑇𝑦𝑝𝑒 𝐼𝐼 𝑎𝑛𝑑 𝐻𝑦𝑝𝑜𝑙𝑔𝑦𝑐𝑒𝑚𝑖𝑎
𝑖𝑓 𝑎 𝑝𝑒𝑟𝑠𝑜𝑛 𝑐𝑜𝑛𝑠𝑢𝑚𝑒𝑠 𝑚𝑜𝑟𝑒 𝑡ℎ𝑎𝑛 10 𝑢𝑛𝑖𝑡𝑠 𝑜𝑓 𝑎𝑙𝑐𝑜ℎ𝑜𝑙 𝑝𝑒𝑟 𝑤𝑒𝑒𝑘
𝑡ℎ𝑒𝑛 𝑡ℎ𝑒𝑦 𝑎𝑟𝑒 𝑎𝑡 𝑟𝑖𝑠𝑘 𝑜𝑓 𝐷𝑖𝑎𝑏𝑒𝑡𝑒𝑠 𝑇𝑦𝑝𝑒 𝐼𝐼 𝑎𝑛𝑑 𝐻𝑦𝑝𝑜𝑙𝑔𝑦𝑐𝑒𝑚𝑖𝑎
𝑖𝑓 𝑎 𝑝𝑒𝑟𝑠𝑜𝑛 𝑐𝑜𝑛𝑠𝑢𝑚𝑒𝑠 𝑚𝑜𝑟𝑒 𝑡ℎ𝑎𝑛 12 𝑐𝑖𝑔𝑎𝑟𝑒𝑡𝑡𝑒𝑠 𝑝𝑒𝑟 𝑤𝑒𝑒𝑘
𝑡ℎ𝑒𝑛 𝑡ℎ𝑒𝑦 𝑎𝑟𝑒 𝑎𝑡 𝑟𝑖𝑠𝑘 𝑜𝑓 𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑒 𝑠𝑐𝑙𝑒𝑟𝑜𝑠𝑖𝑠, ℎ𝑖𝑔ℎ 𝑏𝑙𝑜𝑜𝑑 𝑝𝑟𝑒𝑠𝑠𝑢𝑟𝑒, 𝐶𝑂𝑃𝐷, ℎ𝑖𝑔ℎ 𝑐ℎ𝑜𝑙𝑒𝑠𝑡𝑒𝑟𝑜𝑙 𝑎𝑛𝑑 ℎ𝑒𝑎𝑟𝑡 𝑑𝑖𝑠𝑒𝑎𝑠𝑒
𝑖𝑓 𝑎 𝑝𝑒𝑟𝑠𝑜𝑛 𝑐𝑜𝑛𝑠𝑢𝑚𝑒𝑠 𝑚𝑜𝑟𝑒 𝑡ℎ𝑎𝑛 10 𝑢𝑛𝑖𝑡𝑠 𝑜𝑓 𝑎𝑙𝑐𝑜ℎ𝑜𝑙 𝑝𝑒𝑟 𝑤𝑒𝑒𝑘
𝑡ℎ𝑒𝑛 𝑡ℎ𝑒𝑦 𝑎𝑟𝑒 𝑎𝑡 𝑟𝑖𝑠𝑘 𝑜𝑓 𝐷𝑖𝑎𝑏𝑒𝑡𝑒𝑠 𝑇𝑦𝑝𝑒 𝐼𝐼 𝑎𝑛𝑑 𝐻𝑦𝑝𝑜𝑙𝑔𝑦𝑐𝑒𝑚𝑖𝑎
𝑖𝑓 𝑎 𝑝𝑒𝑟𝑠𝑜𝑛 𝑐𝑜𝑛𝑠𝑢𝑚𝑒𝑠 𝑚𝑜𝑟𝑒 𝑡ℎ𝑎𝑛 12 𝑐𝑖𝑔𝑎𝑟𝑒𝑡𝑡𝑒𝑠 𝑝𝑒𝑟 𝑤𝑒𝑒𝑘
𝑡ℎ𝑒𝑛 𝑡ℎ𝑒𝑦 𝑎𝑟𝑒 𝑎𝑡 𝑟𝑖𝑠𝑘 𝑜𝑓 𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑒 𝑠𝑐𝑙𝑒𝑟𝑜𝑠𝑖𝑠, ℎ𝑖𝑔ℎ 𝑏𝑙𝑜𝑜𝑑 𝑝𝑟𝑒𝑠𝑠𝑢𝑟𝑒, 𝐶𝑂𝑃𝐷, ℎ𝑖𝑔ℎ 𝑐ℎ𝑜𝑙𝑒𝑠𝑡𝑒𝑟𝑜𝑙 𝑎𝑛𝑑 ℎ𝑒𝑎𝑟𝑡 𝑑𝑖𝑠𝑒𝑎𝑠𝑒
𝑖𝑓 𝑠𝑜𝑚𝑒𝑜𝑛𝑒!
𝑠 𝑝𝑎𝑟𝑒𝑛𝑡 ℎ𝑎𝑠 𝑏𝑒𝑒𝑛 𝑑𝑖𝑎𝑔𝑛𝑜𝑠𝑒𝑑 𝑤𝑖𝑡ℎ 𝐷𝑖𝑎𝑏𝑒𝑡𝑒𝑠 𝐼𝐼 𝑎𝑛𝑑/𝑜𝑟 𝐴𝑟𝑡ℎ𝑟𝑖𝑡𝑖𝑠
𝑡ℎ𝑒𝑛 𝑡ℎ𝑒𝑦 𝑎𝑟𝑒 𝑎𝑡 𝑟𝑖𝑠𝑘 𝑜𝑓 𝑡ℎ𝑜𝑠𝑒 𝑑𝑖𝑠𝑒𝑎𝑠𝑒𝑠 𝑡𝑜𝑜
𝑖𝑓 𝑎 𝑝𝑒𝑟𝑠𝑜𝑛 𝑐𝑜𝑛𝑠𝑢𝑚𝑒𝑠 𝑚𝑜𝑟𝑒 𝑡ℎ𝑎𝑛 10 𝑢𝑛𝑖𝑡𝑠 𝑜𝑓 𝑎𝑙𝑐𝑜ℎ𝑜𝑙 𝑝𝑒𝑟 𝑤𝑒𝑒𝑘
𝑡ℎ𝑒𝑛 𝑡ℎ𝑒𝑦 𝑎𝑟𝑒 𝑎𝑡 𝑟𝑖𝑠𝑘 𝑜𝑓 𝐷𝑖𝑎𝑏𝑒𝑡𝑒𝑠 𝑇𝑦𝑝𝑒 𝐼𝐼 𝑎𝑛𝑑 𝐻𝑦𝑝𝑜𝑙𝑔𝑦𝑐𝑒𝑚𝑖𝑎
rule alcohol-risk-of-diabetes:
rule alcohol-risk-of-diabetes:
when {
$p isa person;
$c (consumer: $p, consumed-substance: $s) isa consumption, has units-per-week $u;
$u >= 10;
$s isa substance, has name "Alcohol";
$d isa disease, has name "Diabetes Type II";
$d2 isa disease, has name "Hypoglycemia";
} then {
(person-at-risk: $p, risked-disease: $d, risked-disease: $d2) isa alcohol-risk-factor;
};
𝑖𝑓 𝑎 𝑝𝑒𝑟𝑠𝑜𝑛 𝑐𝑜𝑛𝑠𝑢𝑚𝑒𝑠 𝑚𝑜𝑟𝑒 𝑡ℎ𝑎𝑛 12 𝑐𝑖𝑔𝑎𝑟𝑒𝑡𝑡𝑒𝑠 𝑝𝑒𝑟 𝑤𝑒𝑒𝑘
𝑡ℎ𝑒𝑛 𝑡ℎ𝑒𝑦 𝑎𝑟𝑒 𝑎𝑡 𝑟𝑖𝑠𝑘 𝑜𝑓 𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑒 𝑠𝑐𝑙𝑒𝑟𝑜𝑠𝑖𝑠, ℎ𝑖𝑔ℎ 𝑏𝑙𝑜𝑜𝑑 𝑝𝑟𝑒𝑠𝑠𝑢𝑟𝑒, 𝐶𝑂𝑃𝐷, ℎ𝑖𝑔ℎ 𝑐ℎ𝑜𝑙𝑒𝑠𝑡𝑒𝑟𝑜𝑙 𝑎𝑛𝑑 ℎ𝑒𝑎𝑟𝑡 𝑑𝑖𝑠𝑒𝑎𝑠𝑒
rule smoking-risk-of-multiple-sclerosis:
when {
$p isa person;
$c (consumer: $p, consumed-substance: $s) isa consumption, has units-per-week $u;
$u >= 12;
$s isa substance, has name "Cigarettes";
$d isa disease, has name "Multiple Sclerosis";
$d2 isa disease, has name "Lung Cancer";
$d3 isa disease, has name "High Blood Pressure";
$d4 isa disease, has name "Multiple Sclerosis";
$d5 isa disease, has name "Chronic Obstructive Pulmonary Disease";
$d6 isa disease, has name "Heart Disease";
} then {
(person-at-risk: $p, risked-disease: $d, risked-disease: $d2, risked-disease: $d3,
risked-disease: $d4, risked-disease: $d5, risked-disease: $d6) isa smoking-risk-factor;
};
𝑖𝑓 𝑠𝑜𝑚𝑒𝑜𝑛𝑒!𝑠 𝑝𝑎𝑟𝑒𝑛𝑡 ℎ𝑎𝑠 𝑏𝑒𝑒𝑛 𝑑𝑖𝑎𝑔𝑛𝑜𝑠𝑒𝑑 𝑤𝑖𝑡ℎ 𝐷𝑖𝑎𝑏𝑒𝑡𝑒𝑠 𝐼𝐼 𝑎𝑛𝑑/𝑜𝑟 𝐴𝑟𝑡ℎ𝑟𝑖𝑡𝑖𝑠
𝑡ℎ𝑒𝑛 𝑡ℎ𝑒𝑦 𝑎𝑟𝑒 𝑎𝑡 𝑟𝑖𝑠𝑘 𝑜𝑓 𝑡ℎ𝑜𝑠𝑒 𝑑𝑖𝑠𝑒𝑎𝑠𝑒𝑠 𝑡𝑜𝑜
rule hereditary-risk-of-diabetes:
rule hereditary-risk-of-diabetes:
when {
$child isa person;
$parent isa person;
$cause (parent: $parent, child: $child) isa parentship;
$diagnosis (patient: $parent, diagnosed-disease: $diabetes) isa diagnosis;
$diagnosis2 (patient: $parent, diagnosed-disease: $arthritis) isa diagnosis;
$diabetes isa disease, has name "Diabetes Type II";
$arthritis isa disease, has name "Arthritis";
} then {
(person-at-risk: $child, risked-disease: $diabetes, risked-disease: $arthritis) isa hereditary-risk-factor;
};
Type
System
Expressivity Safety
Optimisation Inference
How is TypeDB different to a graph database?
TypeDB Model
Graph Model
TypeDB is an abstraction layer over a graph database
Tomás Sabat Stöfsel
Graph Databases vs TypeDB:
What You Can’t Do With Graphs

More Related Content

What's hot

Introduction to Knowledge Graphs
Introduction to Knowledge GraphsIntroduction to Knowledge Graphs
Introduction to Knowledge Graphsmukuljoshi
 
Domain Driven Design with the F# type System -- NDC London 2013
Domain Driven Design with the F# type System -- NDC London 2013Domain Driven Design with the F# type System -- NDC London 2013
Domain Driven Design with the F# type System -- NDC London 2013Scott Wlaschin
 
Webinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDBWebinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDBMongoDB
 
Introduction To RDF and RDFS
Introduction To RDF and RDFSIntroduction To RDF and RDFS
Introduction To RDF and RDFSNilesh Wagmare
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraMarkus Lanthaler
 
Oracle Database Management REST API
Oracle Database Management REST APIOracle Database Management REST API
Oracle Database Management REST APIJeff Smith
 
JSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked DataJSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked DataGregg Kellogg
 
Neptune, the Graph Database | AWS Floor28
Neptune, the Graph Database | AWS Floor28Neptune, the Graph Database | AWS Floor28
Neptune, the Graph Database | AWS Floor28Amazon Web Services
 
Introduction To Catalyst - Part 1
Introduction To Catalyst - Part 1Introduction To Catalyst - Part 1
Introduction To Catalyst - Part 1Dan Dascalescu
 
An intro to GraphQL
An intro to GraphQLAn intro to GraphQL
An intro to GraphQLvaluebound
 
GraphQL Introduction with Spring Boot
GraphQL Introduction with Spring BootGraphQL Introduction with Spring Boot
GraphQL Introduction with Spring Bootvipin kumar
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL IntroductionSerge Huber
 

What's hot (20)

Introduction to Knowledge Graphs
Introduction to Knowledge GraphsIntroduction to Knowledge Graphs
Introduction to Knowledge Graphs
 
Domain Driven Design with the F# type System -- NDC London 2013
Domain Driven Design with the F# type System -- NDC London 2013Domain Driven Design with the F# type System -- NDC London 2013
Domain Driven Design with the F# type System -- NDC London 2013
 
Webinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDBWebinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDB
 
ShEx vs SHACL
ShEx vs SHACLShEx vs SHACL
ShEx vs SHACL
 
Introduction To RDF and RDFS
Introduction To RDF and RDFSIntroduction To RDF and RDFS
Introduction To RDF and RDFS
 
GraphQL
GraphQLGraphQL
GraphQL
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and Hydra
 
Oracle Database Management REST API
Oracle Database Management REST APIOracle Database Management REST API
Oracle Database Management REST API
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Graph and Amazon Neptune
Graph and Amazon NeptuneGraph and Amazon Neptune
Graph and Amazon Neptune
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
JSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked DataJSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked Data
 
Neptune, the Graph Database | AWS Floor28
Neptune, the Graph Database | AWS Floor28Neptune, the Graph Database | AWS Floor28
Neptune, the Graph Database | AWS Floor28
 
Introduction To Catalyst - Part 1
Introduction To Catalyst - Part 1Introduction To Catalyst - Part 1
Introduction To Catalyst - Part 1
 
Neptune webinar AWS
Neptune webinar AWS Neptune webinar AWS
Neptune webinar AWS
 
An intro to GraphQL
An intro to GraphQLAn intro to GraphQL
An intro to GraphQL
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
GraphQL Introduction with Spring Boot
GraphQL Introduction with Spring BootGraphQL Introduction with Spring Boot
GraphQL Introduction with Spring Boot
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL Introduction
 

More from Vaticle

Building Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug DiscoveryBuilding Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug DiscoveryVaticle
 
Loading Huge Amounts of Data
Loading Huge Amounts of DataLoading Huge Amounts of Data
Loading Huge Amounts of DataVaticle
 
Natural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge GraphNatural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge GraphVaticle
 
A Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security KnowledgeA Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security KnowledgeVaticle
 
Unifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge GraphUnifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge GraphVaticle
 
The Next Big Thing in AI - Causality
The Next Big Thing in AI - CausalityThe Next Big Thing in AI - Causality
The Next Big Thing in AI - CausalityVaticle
 
Building a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge GraphBuilding a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge GraphVaticle
 
Knowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdfKnowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdfVaticle
 
Building a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdfBuilding a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdfVaticle
 
Enabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdfEnabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdfVaticle
 
Beyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQLBeyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQLVaticle
 
Comparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDBComparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDBVaticle
 
Reasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning EngineReasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning EngineVaticle
 
Strongly Typed Data for Machine Learning
Strongly Typed Data for Machine LearningStrongly Typed Data for Machine Learning
Strongly Typed Data for Machine LearningVaticle
 
Open World Robotics
Open World RoboticsOpen World Robotics
Open World RoboticsVaticle
 
Combining Causal and Knowledge Modeling for Digital Transformation
Combining Causal and Knowledge Modeling for Digital TransformationCombining Causal and Knowledge Modeling for Digital Transformation
Combining Causal and Knowledge Modeling for Digital TransformationVaticle
 
How can we complete a Knowledge Graph?
How can we complete a Knowledge Graph?How can we complete a Knowledge Graph?
How can we complete a Knowledge Graph?Vaticle
 
Text-Mined Data in a Knowledge Graph
Text-Mined Data in a Knowledge GraphText-Mined Data in a Knowledge Graph
Text-Mined Data in a Knowledge GraphVaticle
 
Introduction to Knowledge Graphs with Grakn and Graql
Introduction to Knowledge Graphs with Grakn and Graql Introduction to Knowledge Graphs with Grakn and Graql
Introduction to Knowledge Graphs with Grakn and Graql Vaticle
 
Power of the Run Graph
Power of the Run GraphPower of the Run Graph
Power of the Run GraphVaticle
 

More from Vaticle (20)

Building Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug DiscoveryBuilding Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug Discovery
 
Loading Huge Amounts of Data
Loading Huge Amounts of DataLoading Huge Amounts of Data
Loading Huge Amounts of Data
 
Natural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge GraphNatural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge Graph
 
A Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security KnowledgeA Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security Knowledge
 
Unifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge GraphUnifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge Graph
 
The Next Big Thing in AI - Causality
The Next Big Thing in AI - CausalityThe Next Big Thing in AI - Causality
The Next Big Thing in AI - Causality
 
Building a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge GraphBuilding a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge Graph
 
Knowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdfKnowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdf
 
Building a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdfBuilding a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdf
 
Enabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdfEnabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdf
 
Beyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQLBeyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQL
 
Comparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDBComparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDB
 
Reasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning EngineReasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning Engine
 
Strongly Typed Data for Machine Learning
Strongly Typed Data for Machine LearningStrongly Typed Data for Machine Learning
Strongly Typed Data for Machine Learning
 
Open World Robotics
Open World RoboticsOpen World Robotics
Open World Robotics
 
Combining Causal and Knowledge Modeling for Digital Transformation
Combining Causal and Knowledge Modeling for Digital TransformationCombining Causal and Knowledge Modeling for Digital Transformation
Combining Causal and Knowledge Modeling for Digital Transformation
 
How can we complete a Knowledge Graph?
How can we complete a Knowledge Graph?How can we complete a Knowledge Graph?
How can we complete a Knowledge Graph?
 
Text-Mined Data in a Knowledge Graph
Text-Mined Data in a Knowledge GraphText-Mined Data in a Knowledge Graph
Text-Mined Data in a Knowledge Graph
 
Introduction to Knowledge Graphs with Grakn and Graql
Introduction to Knowledge Graphs with Grakn and Graql Introduction to Knowledge Graphs with Grakn and Graql
Introduction to Knowledge Graphs with Grakn and Graql
 
Power of the Run Graph
Power of the Run GraphPower of the Run Graph
Power of the Run Graph
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Graph Databases vs TypeDB | What you can't do with graphs