SlideShare une entreprise Scribd logo
1  sur  74
Télécharger pour lire hors ligne
In	
  a	
  League	
  of	
  their	
  Own:	
  	
  
Neo4j	
  and	
  Premiership	
  Football	
  
Mark	
  Needham	
  
@markhneedham	
  
• 
• 
• 
• 
• 
• 

Intro	
  to	
  graphs	
  
When	
  do	
  we	
  need	
  a	
  graph?	
  
Property	
  graph	
  model	
  
Neo4j’s	
  query	
  language	
  
The	
  football	
  graph	
  
Using	
  Neo4j	
  from	
  .NET	
  

Outline	
  
Let’s	
  talk	
  graphs	
  
Dancing	
  With	
  
Michael	
  Jackson	
  
EaJng	
  Brains	
  

You	
  mean	
  these?	
  
!
 
ts
ar

Ch
e
 
ar
 

se
he
T
 

Dancing	
  With	
  
Michael	
  Jackson	
  

EaJng	
  Brains	
  

N

s!
 
ph
a
 Gr
OT

Nope!	
  
Node	
  

RelaJonship	
  

Ok	
  so	
  what’s	
  a	
  graph	
  then?	
  
The	
  tube	
  
The	
  social	
  network	
  (graph)	
  
Complexity	
  
What	
  are	
  graphs	
  good	
  for?	
  
complexity = f(size, semi-structure, connectedness)

Data	
  Complexity	
  
Size	
  
complexity = f(size

, semi-structure, connectedness)

The	
  Real	
  Complexity	
  
Semi-­‐Structure	
  
USER_ID	
  
315	
  

FIRST_NAME	
   LAST_NAME	
  
Mark	
  

Needham	
  

EMAIL_1	
  
mark.needham@neotech
nology.com	
  

Email:	
  mark.needham@neotechnology.com	
  
Email:	
  m.h.needham@gmail.com	
  
TwiXer:	
  @markhneedham	
  
Skype:	
  mk_jnr1984	
  
USER	
  

EMAIL_2	
  

FACEBOOK	
  

m.h.needham@gmail.com	
  

NULL	
  

TWITTER	
  
@markhneedham	
  

CONTACT	
  

CONTACT_TYPE	
  

Semi-­‐Structure	
  

SKYPE	
  
mk_jnr1984	
  
complexity = f(size

, semi-structure, connectedness)

The	
  Real	
  Complexity	
  
Connectedness	
  
Connectedness	
  
Connectedness	
  
Densely	
  Connected	
  

Semi	
  Structured	
  

When	
  do	
  we	
  need	
  a	
  graph?	
  
Lots	
  of	
  join	
  tables	
  
Densely	
  connected?	
  
Lots	
  of	
  sparse	
  
tables	
  
Semi-­‐Structured?	
  
•  Millions	
  of	
  ‘joins’	
  per	
  second	
  
•  Consistent	
  query	
  Jmes	
  as	
  dataset	
  
grows	
  
•  Join	
  Complexity	
  and	
  Performance	
  
•  Easy	
  to	
  evolve	
  data	
  model	
  
•  Easy	
  to	
  ‘layer’	
  different	
  types	
  of	
  data	
  
together	
  

ProperJes	
  of	
  graph	
  databases	
  
Property	
  Graph	
  Data	
  Model	
  
Nodes	
  
•  Used	
  to	
  represent	
  enJty	
  aributes	
  and/or	
  metadata	
  
(e.g.	
  Jmestamps,	
  version)	
  
•  Key-­‐value	
  pairs	
  
•  Java	
  primiJves	
  
•  Arrays	
  
•  null	
  is	
  not	
  a	
  valid	
  value	
  
•  Every	
  node	
  can	
  have	
  different	
  properJes	
  

Nodes	
  can	
  have	
  properJes	
  
What’s	
  a	
  node?	
  
RelaJonships	
  
•  RelaJonships	
  are	
  first	
  class	
  ciJzens	
  	
  
•  Every	
  relaJonship	
  has	
  a	
  name	
  and	
  a	
  direc.on	
  
–  Add	
  structure	
  to	
  the	
  graph	
  
–  Provide	
  semanJc	
  context	
  for	
  nodes	
  

•  ProperJes	
  used	
  to	
  represent	
  quality	
  or	
  weight	
  
of	
  relaJonship,	
  or	
  metadata	
  
•  Every	
  relaJonship	
  must	
  have	
  a	
  start	
  node	
  and	
  
end	
  node	
  

RelaJonships	
  
Nodes	
  can	
  be	
  connected	
  by	
  
more	
  than	
  one	
  relaJonship	
  

Nodes	
  can	
  have	
  more	
  
than	
  one	
  relaJonship	
  
Self	
  relaJonships	
  are	
  allowed	
  

RelaJonships	
  
Labels	
  
Think	
  Gmail	
  labels	
  
•  Nodes	
  
–  EnJJes	
  

•  RelaJonships	
  
–  Connect	
  enJJes	
  and	
  structure	
  domain	
  

•  ProperJes	
  
–  EnJty	
  aXributes,	
  relaJonship	
  qualiJes,	
  and	
  
metadata	
  

•  Labels	
  
–  Group	
  nodes	
  by	
  role	
  

Four	
  Building	
  Blocks	
  
Purposeful	
  abstracJon	
  of	
  a	
  domain	
  designed	
  to	
  
saJsfy	
  parJcular	
  applicaJon/end-­‐user	
  goals	
  

Models	
  
Model	
  
Query	
  

Design	
  for	
  Queryability	
  
Model	
  

Design	
  for	
  Queryability	
  
Model	
  
Query	
  

Design	
  for	
  Queryability	
  
•  DeclaraJve	
  PaXern-­‐Matching	
  language	
  
•  SQL-­‐like	
  syntax	
  
•  Designed	
  for	
  graphs	
  

Introducing	
  Cypher	
  
A

B

C

PaXerns,	
  paXerns,	
  everywhere	
  
a

b

(a) -- (b)	
It’s	
  all	
  about	
  the	
  ASCII	
  art!	
  
MATCH (a)--(b)
RETURN a, b

a

b

The	
  most	
  basic	
  query	
  
a

ACTED IN

m

(a)–[:ACTED_IN]-(m)	
Adding	
  in	
  a	
  relaJonship	
  type	
  
MATCH (a)-[:ACTED_IN]-(m)
RETURN a.name, m.name

a

ACTED IN

m

Adding	
  in	
  a	
  relaJonship	
  type	
  
The	
  football	
  graph	
  
The	
  football	
  graph	
  
Find	
  Arsenal’s	
  away	
  matches	
  
Find	
  Arsenal’s	
  away	
  matches	
  
MATCH (team:Team)-[:away_team]-(game)
WHERE team.name = Arsenal
RETURN game

Find	
  Arsenal’s	
  away	
  matches	
  
MATCH (team:Team)-[:away_team]-(game)
WHERE team.name = Arsenal
RETURN game.name

Graph	
  PaXern	
  
MATCH (team:Team)-[:away_team]-(game)
WHERE team.name = Arsenal
RETURN game.name

Anchor	
  paXern	
  in	
  graph	
  
MATCH (team:Team)-[:away_team]-(game)
WHERE team.name = Arsenal
RETURN game.name

Create	
  projecJon	
  of	
  results	
  
Find	
  Arsenal’s	
  away	
  matches	
  
Evolving	
  the	
  football	
  graph	
  
Find	
  the	
  top	
  away	
  goal	
  scorers	
  
MATCH (team)-[:away_team]-(game:Game),
(game)-[:contains_match]-(season:Season),
(team)-[:for]-(stats)-[:played]-(player),
(stats)-[:in]-(game)
WHERE season.name = 2012-2013
RETURN player.name,
COLLECT(DISTINCT team.name),
SUM(stats.goals) as goals
ORDER BY goals DESC
LIMIT 10

Find	
  the	
  top	
  away	
  goal	
  scorers	
  
MATCH (team)-[:away_team]-(game:Game),
(game)-[:contains_match]-(season:Season),
(team)-[:for]-(stats)-[:played]-(player),
(stats)-[:in]-(game)
WHERE season.name = 2012-2013
RETURN player.name,
COLLECT(DISTINCT team.name),
SUM(stats.goals) as goals
ORDER BY goals DESC
LIMIT 10

MulJple	
  graph	
  paXerns	
  
MATCH (team)-[:away_team]-(game:Game),
(game)-[:contains_match]-(season:Season),
(team)-[:for]-(stats)-[:played]-(player),
(stats)-[:in]-(game)
WHERE season.name = 2012-2013
RETURN player.name,
COLLECT(DISTINCT team.name),
SUM(stats.goals) as goals
ORDER BY goals DESC
LIMIT 10

Anchor	
  paXern	
  in	
  the	
  graph	
  
MATCH (team)-[:away_team]-(game:Game),
(game)-[:contains_match]-(season:Season),
(team)-[:for]-(stats)-[:played]-(player),
(stats)-[:in]-(game)
WHERE season.name = 2012-2013
RETURN player.name,
COLLECT(DISTINCT team.name),
SUM(stats.goals) as goals
ORDER BY goals DESC
LIMIT 10

Group	
  by	
  player	
  
Find	
  the	
  top	
  away	
  goal	
  scorers	
  
•  Goals	
  scored	
  in	
  each	
  month	
  by	
  
Michu	
  
•  ToXenham	
  results	
  when	
  Gareth	
  Bale	
  
scores	
  
•  What	
  did	
  Wayne	
  Rooney	
  do	
  in	
  April?	
  
•  Which	
  players	
  only	
  score	
  when	
  a	
  
game	
  is	
  televised?	
  

Other	
  football	
  queries	
  
Graph	
  Query	
  Design	
  
The	
  relaJonal	
  version	
  
Rela%onal	
  

Graphs	
  

Tables	
  

Nodes	
  
-­‐	
  no	
  need	
  to	
  set	
  a	
  property	
  if	
  it	
  	
  

-­‐	
  assume	
  records	
  all	
  have	
  the	
  	
  
	
  	
  same	
  structure	
  	
  

	
  	
  	
  doesn’t	
  exist	
  

Foreign	
  keys	
  between	
  tables	
   Rela%onships	
  
-­‐	
  joins	
  calculated	
  at	
  run	
  Jme	
  
-­‐	
  stored	
  as	
  a	
  ‘Pre-­‐computed	
  	
  

-­‐	
  the	
  more	
  tables	
  you	
  join	
  to	
  a	
  	
  	
  
	
  	
  	
  index’	
  at	
  write	
  Jme	
  
	
  	
  query	
  the	
  slower	
  the	
  query	
  gets	
   -­‐	
  very	
  easy	
  to	
  do	
  lots	
  of	
  ‘hops’	
  	
  
	
  	
  	
  between	
  relaJonships	
  

Graph	
  vs	
  RelaJonal	
  
Neo4j	
  Server	
  

ApplicaJon	
  
H	
  
T	
  
T	
  
P	
  
REST	
  Client	
  

.NET	
  and	
  Neo4j	
  
Neo4j	
  Server	
  

ApplicaJon	
  

Neo4jClient	
  
	
  
REST	
  Client	
  

H	
  
T	
  
T	
  
P	
  

.NET	
  and	
  Neo4j	
  
.NET	
  and	
  Neo4j	
  
.NET	
  and	
  Neo4j	
  
.NET	
  and	
  Neo4j	
  
.NET	
  and	
  Neo4j	
  

Contenu connexe

Similaire à The Football Graph - Neo4j and the Premier League

Slides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MDSlides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MD
SonaCharles2
 

Similaire à The Football Graph - Neo4j and the Premier League (20)

OWF12/Java Ian robinson
OWF12/Java Ian robinsonOWF12/Java Ian robinson
OWF12/Java Ian robinson
 
New opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonNew opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian Robinson
 
The World Cup Graph 2018
The World Cup Graph 2018The World Cup Graph 2018
The World Cup Graph 2018
 
Is your excel production code?
Is your excel production code?Is your excel production code?
Is your excel production code?
 
Incremental View Maintenance for openCypher Queries
Incremental View Maintenance for openCypher QueriesIncremental View Maintenance for openCypher Queries
Incremental View Maintenance for openCypher Queries
 
Incremental View Maintenance for openCypher Queries
Incremental View Maintenance for openCypher QueriesIncremental View Maintenance for openCypher Queries
Incremental View Maintenance for openCypher Queries
 
Hands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4jHands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4j
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
Graph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft EcosystemGraph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft Ecosystem
 
Cypher and apache spark multiple graphs and more in open cypher
Cypher and apache spark  multiple graphs and more in  open cypherCypher and apache spark  multiple graphs and more in  open cypher
Cypher and apache spark multiple graphs and more in open cypher
 
Data Analytics with R and SQL Server
Data Analytics with R and SQL ServerData Analytics with R and SQL Server
Data Analytics with R and SQL Server
 
Tackling Complex Data with Neo4j by Ian Robinson
Tackling Complex Data with Neo4j by Ian RobinsonTackling Complex Data with Neo4j by Ian Robinson
Tackling Complex Data with Neo4j by Ian Robinson
 
Introduction to R for Learning Analytics Researchers
Introduction to R for Learning Analytics ResearchersIntroduction to R for Learning Analytics Researchers
Introduction to R for Learning Analytics Researchers
 
17641.ppt
17641.ppt17641.ppt
17641.ppt
 
Slides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MDSlides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MD
 
17641.ppt
17641.ppt17641.ppt
17641.ppt
 
Matplotlib adalah pustaka plotting 2D Python yang menghasilkan gambar berkual...
Matplotlib adalah pustaka plotting 2D Python yang menghasilkan gambar berkual...Matplotlib adalah pustaka plotting 2D Python yang menghasilkan gambar berkual...
Matplotlib adalah pustaka plotting 2D Python yang menghasilkan gambar berkual...
 
Python - Numpy/Pandas/Matplot Machine Learning Libraries
Python - Numpy/Pandas/Matplot Machine Learning LibrariesPython - Numpy/Pandas/Matplot Machine Learning Libraries
Python - Numpy/Pandas/Matplot Machine Learning Libraries
 
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPLeveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4j
 

Plus de Mark Needham

Optimizing cypher queries in neo4j
Optimizing cypher queries in neo4jOptimizing cypher queries in neo4j
Optimizing cypher queries in neo4j
Mark Needham
 
Mixing functional and object oriented approaches to programming in C#
Mixing functional and object oriented approaches to programming in C#Mixing functional and object oriented approaches to programming in C#
Mixing functional and object oriented approaches to programming in C#
Mark Needham
 

Plus de Mark Needham (12)

Neo4j GraphTour: Utilizing Powerful Extensions for Analytics and Operations
Neo4j GraphTour: Utilizing Powerful Extensions for Analytics and OperationsNeo4j GraphTour: Utilizing Powerful Extensions for Analytics and Operations
Neo4j GraphTour: Utilizing Powerful Extensions for Analytics and Operations
 
This week in Neo4j - 3rd February 2018
This week in Neo4j - 3rd February 2018This week in Neo4j - 3rd February 2018
This week in Neo4j - 3rd February 2018
 
Building a recommendation engine with python and neo4j
Building a recommendation engine with python and neo4jBuilding a recommendation engine with python and neo4j
Building a recommendation engine with python and neo4j
 
Graph Connect: Importing data quickly and easily
Graph Connect: Importing data quickly and easilyGraph Connect: Importing data quickly and easily
Graph Connect: Importing data quickly and easily
 
Graph Connect Europe: From Zero To Import
Graph Connect Europe: From Zero To ImportGraph Connect Europe: From Zero To Import
Graph Connect Europe: From Zero To Import
 
Optimizing cypher queries in neo4j
Optimizing cypher queries in neo4jOptimizing cypher queries in neo4j
Optimizing cypher queries in neo4j
 
Scala: An experience report
Scala: An experience reportScala: An experience report
Scala: An experience report
 
Visualisations
VisualisationsVisualisations
Visualisations
 
Mixing functional programming approaches in an object oriented language
Mixing functional programming approaches in an object oriented languageMixing functional programming approaches in an object oriented language
Mixing functional programming approaches in an object oriented language
 
Mixing functional and object oriented approaches to programming in C#
Mixing functional and object oriented approaches to programming in C#Mixing functional and object oriented approaches to programming in C#
Mixing functional and object oriented approaches to programming in C#
 
Mixing functional and object oriented approaches to programming in C#
Mixing functional and object oriented approaches to programming in C#Mixing functional and object oriented approaches to programming in C#
Mixing functional and object oriented approaches to programming in C#
 
F#: What I've learnt so far
F#: What I've learnt so farF#: What I've learnt so far
F#: What I've learnt so far
 

Dernier

🔝|97111༒99012🔝 Call Girls In {Delhi} Cr Park ₹5.5k Cash Payment With Room De...
🔝|97111༒99012🔝 Call Girls In  {Delhi} Cr Park ₹5.5k Cash Payment With Room De...🔝|97111༒99012🔝 Call Girls In  {Delhi} Cr Park ₹5.5k Cash Payment With Room De...
🔝|97111༒99012🔝 Call Girls In {Delhi} Cr Park ₹5.5k Cash Payment With Room De...
Diya Sharma
 
Asli Kala jadu, Black magic specialist in Pakistan Or Kala jadu expert in Egy...
Asli Kala jadu, Black magic specialist in Pakistan Or Kala jadu expert in Egy...Asli Kala jadu, Black magic specialist in Pakistan Or Kala jadu expert in Egy...
Asli Kala jadu, Black magic specialist in Pakistan Or Kala jadu expert in Egy...
baharayali
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Dernier (20)

🔝|97111༒99012🔝 Call Girls In {Delhi} Cr Park ₹5.5k Cash Payment With Room De...
🔝|97111༒99012🔝 Call Girls In  {Delhi} Cr Park ₹5.5k Cash Payment With Room De...🔝|97111༒99012🔝 Call Girls In  {Delhi} Cr Park ₹5.5k Cash Payment With Room De...
🔝|97111༒99012🔝 Call Girls In {Delhi} Cr Park ₹5.5k Cash Payment With Room De...
 
Spain Vs Albania- Spain at risk of being thrown out of Euro 2024 with Tournam...
Spain Vs Albania- Spain at risk of being thrown out of Euro 2024 with Tournam...Spain Vs Albania- Spain at risk of being thrown out of Euro 2024 with Tournam...
Spain Vs Albania- Spain at risk of being thrown out of Euro 2024 with Tournam...
 
Croatia vs Italy Euro Cup 2024 Three pitfalls for Spalletti’s Italy in Group ...
Croatia vs Italy Euro Cup 2024 Three pitfalls for Spalletti’s Italy in Group ...Croatia vs Italy Euro Cup 2024 Three pitfalls for Spalletti’s Italy in Group ...
Croatia vs Italy Euro Cup 2024 Three pitfalls for Spalletti’s Italy in Group ...
 
Netherlands Players expected to miss UEFA Euro 2024 due to injury.docx
Netherlands Players expected to miss UEFA Euro 2024 due to injury.docxNetherlands Players expected to miss UEFA Euro 2024 due to injury.docx
Netherlands Players expected to miss UEFA Euro 2024 due to injury.docx
 
Spain Vs Italy 20 players confirmed for Spain's Euro 2024 squad, and three po...
Spain Vs Italy 20 players confirmed for Spain's Euro 2024 squad, and three po...Spain Vs Italy 20 players confirmed for Spain's Euro 2024 squad, and three po...
Spain Vs Italy 20 players confirmed for Spain's Euro 2024 squad, and three po...
 
Ramban Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts In...
Ramban  Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts In...Ramban  Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts In...
Ramban Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts In...
 
TAM Sports_IPL 17 Till Match 37_Celebrity Endorsement _Report.pdf
TAM Sports_IPL 17 Till Match 37_Celebrity Endorsement _Report.pdfTAM Sports_IPL 17 Till Match 37_Celebrity Endorsement _Report.pdf
TAM Sports_IPL 17 Till Match 37_Celebrity Endorsement _Report.pdf
 
Hire 💕 8617697112 Kasauli Call Girls Service Call Girls Agency
Hire 💕 8617697112 Kasauli Call Girls Service Call Girls AgencyHire 💕 8617697112 Kasauli Call Girls Service Call Girls Agency
Hire 💕 8617697112 Kasauli Call Girls Service Call Girls Agency
 
Asli Kala jadu, Black magic specialist in Pakistan Or Kala jadu expert in Egy...
Asli Kala jadu, Black magic specialist in Pakistan Or Kala jadu expert in Egy...Asli Kala jadu, Black magic specialist in Pakistan Or Kala jadu expert in Egy...
Asli Kala jadu, Black magic specialist in Pakistan Or Kala jadu expert in Egy...
 
Technical Data | Sig Sauer Easy6 BDX 1-6x24 | Optics Trade
Technical Data | Sig Sauer Easy6 BDX 1-6x24 | Optics TradeTechnical Data | Sig Sauer Easy6 BDX 1-6x24 | Optics Trade
Technical Data | Sig Sauer Easy6 BDX 1-6x24 | Optics Trade
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WhatsApp Chat: 📞 8617697112 Birbhum Call Girl available for hotel room package
WhatsApp Chat: 📞 8617697112 Birbhum  Call Girl available for hotel room packageWhatsApp Chat: 📞 8617697112 Birbhum  Call Girl available for hotel room package
WhatsApp Chat: 📞 8617697112 Birbhum Call Girl available for hotel room package
 
Unveiling the Mystery of Main Bazar Chart
Unveiling the Mystery of Main Bazar ChartUnveiling the Mystery of Main Bazar Chart
Unveiling the Mystery of Main Bazar Chart
 
JORNADA 5 LIGA MURO 2024INSUGURACION.pdf
JORNADA 5 LIGA MURO 2024INSUGURACION.pdfJORNADA 5 LIGA MURO 2024INSUGURACION.pdf
JORNADA 5 LIGA MURO 2024INSUGURACION.pdf
 
Sports Writing (Rules,Tips, Examples, etc)
Sports Writing (Rules,Tips, Examples, etc)Sports Writing (Rules,Tips, Examples, etc)
Sports Writing (Rules,Tips, Examples, etc)
 
Spain Vs Italy Spain to be banned from participating in Euro 2024.docx
Spain Vs Italy Spain to be banned from participating in Euro 2024.docxSpain Vs Italy Spain to be banned from participating in Euro 2024.docx
Spain Vs Italy Spain to be banned from participating in Euro 2024.docx
 
Slovenia Vs Serbia UEFA Euro 2024 Fixture Guide Every Fixture Detailed.docx
Slovenia Vs Serbia UEFA Euro 2024 Fixture Guide Every Fixture Detailed.docxSlovenia Vs Serbia UEFA Euro 2024 Fixture Guide Every Fixture Detailed.docx
Slovenia Vs Serbia UEFA Euro 2024 Fixture Guide Every Fixture Detailed.docx
 
Personal Brand Exploration - By Bradley Dennis
Personal Brand Exploration - By Bradley DennisPersonal Brand Exploration - By Bradley Dennis
Personal Brand Exploration - By Bradley Dennis
 
Who Is Emmanuel Katto Uganda? His Career, personal life etc.
Who Is Emmanuel Katto Uganda? His Career, personal life etc.Who Is Emmanuel Katto Uganda? His Career, personal life etc.
Who Is Emmanuel Katto Uganda? His Career, personal life etc.
 
Trossard's Message Bridging Celebrities and Sports in Euro Cup 2024.docx
Trossard's Message Bridging Celebrities and Sports in Euro Cup 2024.docxTrossard's Message Bridging Celebrities and Sports in Euro Cup 2024.docx
Trossard's Message Bridging Celebrities and Sports in Euro Cup 2024.docx
 

The Football Graph - Neo4j and the Premier League