SlideShare a Scribd company logo
1 of 41
Download to read offline
Searching and Querying Knowledge 
Graphs with Solr/SIREn: a Reference 
Architecture 
Renaud Delbru 
Giovanni Tummarello
Our Background
Agenda 
• What is Knowledge Graph ? 
• Goals and approaches to searching a Knowledge Graph 
• A reference Architecture 
• Demo 
• Conclusions
What is a “Knowledge Graph”? 
See also: 
• http://www.google.ie/insidesearch/features/search/knowledge.html 
• http://semanticweb.com/at-semtechbiz-knowledge-graphs-are-everywhere_b37724
An Enterprise Knowledge Graph 
RDF 
Data 
Graph 
Tables 
Data 
Graphs 
Content 
References, 
Key 
Concepts, 
Rela7ons 
External 
Domain 
Data 
Customer 
Data 
Domain 
Ontologies 
NEW 
KNOWLEDGE 
PRODUCTS 
• Smarter 
search 
• Faceted 
Browsing 
• Domain/Customer 
specific 
targe9ng 
and 
mashups
A Freebase distribution
Complex relational structure (schema) 
Film 
- alias 
- directed_by 
- starring 
- rating 
- soundtrack 
- ... 
Director 
- alias 
- gender 
- nationality 
- spouse 
- ... 
Performance 
- actor 
- character 
- type 
- ... 
Actor 
- alias 
- netflix_id 
- gender 
- nationality 
- spouse 
- ... 
Character 
- alias 
- created_by 
- species 
- occupation 
- powers 
- ... 
Rating 
- country 
- rating_system 
- min_age 
- max_age 
- ... 
Soundtrack 
- alias 
- artist 
- concert_tour 
- release 
- ... 
Artist 
- alias 
- genre 
- origin 
- album 
- label 
- ... 
Release 
- date 
- length 
- track_list 
- label 
- ... 
Concert Tour 
- start_date 
- end_date 
- gross_proceedes 
- concerts 
- ...
Complex relational structure (instance) 
label 
types 
“Award 
Winning 
Work” 
lastName 
“US” 
label 
“Person” 
Film.film 
Award.Award_winning_work 
label 
label 
Person.Person 
type 
type 
label 
performance 
Film.Performance 
type 
label 
Film.Character 
“character” 
type 
performance 
“Forrest 
Gump” 
“Actor” 
“Robert 
Zemekis” 
m432432 
“An 
American 
movie 
released 
in 
.. 
” 
h8p://freebase.com/m123123 
“Forrest” 
“Gump” 
firstName 
lastName 
“Life 
is 
like 
a 
box 
of 
chocolate 
said 
Forrest’s 
mom.. 
” 
“Film” 
“US” 
“Tom” 
“Hanks” 
firstName 
“Oscar 
winner 
actor, 
best 
known 
for 
his 
interpreta9ons 
of.. 
” 
“US” 
firstName 
“Jenny” 
“-­‐-­‐-­‐” 
“US” 
“Jenny” 
“-­‐-­‐-­‐” 
lastName 
“decrip9on 
here 
firstName 
lastName 
“Forres’s 
Gump 
friend 
and 
eventually 
wife, 
she 
will 
die 
of 
AIDS 
…” 
Person.Actor
What do we mean to search a KG? 
• Typically “Entity Search” on the content of a KG 
• .. via full text entity search. 
• “Forrest 
Gump” 
• “Forrest 
.. 
Movie” 
• “Tom 
Hanks 
1994” 
• “box 
of 
chocolate 
tom 
forrest 
jenny” 
• .. or structured/semistructured search 
• “house” 
• *.performance.actor.na7onality 
= 
“UK” 
• *.performance.character.na7onality=“US” 
• … with sorting/ranking/faceting etc 
• … cost effectively, at interactive/production speed
Challenges and tradeoffs 
• High diversity of data 
• Large 
schema 
• Arbitrary 
en7ty 
rela7ons 
• Relational data 
• En7ty 
search 
based 
on 
neighbouring 
nodes 
• False 
posi7ves 
for 
mul7 
value 
a8ributes 
• Updates 
• Query 
7me 
joins 
à 
allows 
quick 
changing 
graphs, 
might 
complex 
to 
maintain 
indexes 
• Index 
7me 
joins 
à 
materializa7on, 
might 
require 
considerable 
reindexing 
Response 
Time 
Update 
Granularity 
Index-­‐ 
Time 
Join 
Query-­‐ 
Time 
Join
A typical basic approach 
• Basic approach typical flattens all 1 doc per entity 
• Pro: relatively easy 
• Cons: 
• Lose 
the 
informa7on 
about 
rela7onships 
and 
nested 
data 
• Loss 
of 
precision 
when 
fla8ening, 
false 
posi7ves 
• Cant 
do 
structured 
queries 
• Primi7ve 
ranking 
Document 
Film Title 
Description(s) 
Actors (MVA) 
Nationalities 
(MVA) 
More “related 
text”
Relationally/Nested data aware approaches 
• Query-Time Join 
• One 
(flat) 
document 
per 
en7ty 
• Join 
result 
sets 
at 
query 
7me 
to 
compute 
rela7ons 
• Index-time Join 
• One 
(SIREn) 
or 
more 
(Blockjoin) 
documents 
per 
en7ty 
• Join 
computed 
at 
index 
7me
Query Time Join 
• One (flat) document per entity 
• Join result sets at query time to 
compute relations 
• Similar 
to 
RDB 
• Advantages: 
• Easier 
to 
index 
and 
update 
• Limitations: 
• Can 
get 
to 
an 
enormous 
amounts 
of 
joins 
• high 
memory 
requirements 
to 
be 
fast 
• low 
response 
7me 
Document 
Film 
Document 
Performance 
Document 
Actor 
Document 
Actor 
Document 
Performance
Blockjoin 
• One (flat) document per entity 
• Relations computed at index time 
• Related 
documents 
are 
indexed 
in 
a 
same 
“block” 
• Faster 
response 
7me 
• Works well for small and well-defined 
schema 
• Upfront 
effort 
required 
to 
design 
and 
configure 
the 
system 
• Increase 
memory 
usage 
due 
to 
crea7on 
of 
ar7ficial 
documents 
Document 
Film 
Document 
Actor 
Document Block 
Document 
Actor 
Document 
Performance
SIREn 
• Lucene/Solr/Elasticsearch plugin for 
indexing and searching JSON 
• Rich data model (JSON) 
• Nested 
objects, 
nested 
arrays, 
datatypes 
• Mul7-­‐valued 
a8ributes 
Schema-agnostic 
• No 
need 
to 
define 
structure 
(nested 
model) 
• No 
need 
to 
define 
schema 
(fields) 
• Advantages of SIREn vs Blockjoin 
• Can 
handle 
arbitrary 
and 
large 
nested 
model 
• Be8er 
memory 
usage 
Document 
Film 
1 
Performance Actor 
Actor 
1.1 
Performance 
1.2 
1.1.1 
1.1.2
Reference Architecture (SIREn based) 
Sparql 
Label: 
-­‐-­‐-­‐-­‐-­‐ 
Type: 
-­‐-­‐-­‐-­‐-­‐ 
Desc 
: 
-­‐-­‐-­‐-­‐-­‐ 
Prop 
1: 
-­‐-­‐-­‐-­‐-­‐ 
Prop 
2: 
-­‐-­‐-­‐-­‐-­‐ 
..Prop 
N: 
-­‐-­‐-­‐-­‐-­‐ 
Movies, 
Label: 
-­‐-­‐-­‐-­‐-­‐ 
People, 
Companies,… 
Type: 
Movie 
Nested 
prop:value 
s 
Regular 
prop:value 
Customizable 
Materializa7on 
Templates 
Superseeds 
default 
doc 
Siren 
Query 
Language
Our Reference Architecture 
• Currently, it requires a lot of design and development effort to index and search a 
knowledge graph 
• No 
generic 
solu7on, 
ad-­‐hoc 
solu7on 
for 
a 
par7cular 
user 
apps 
or 
graphs. 
• Custom 
code 
-­‐> 
costly 
to 
maintain, 
limited 
extensibility 
• We are building a reference architecture to simplify the task and reduce the effort 
involved 
• Reduce 
custom 
code 
by 
use 
of 
generic, 
standardised 
tools 
• Quickly 
adapt 
to 
change 
in 
the 
data 
schema 
or 
to 
new 
data 
requirements
Reference Architecture 
• Carefully analyse data to understand which node will be updated, which nodes will 
not 
• Nodes 
that 
are 
likely 
to 
be 
updated 
• Query-­‐7me 
join 
• Nodes 
that 
are 
rela7vely 
fixed 
over 
7me 
• Index-­‐7me 
join 
• Split the graph accordingly 
• Each 
node 
will 
be 
associated 
with 
a 
par7cular 
graph 
pa8erns 
to 
extract 
• Output 
is 
a 
set 
of 
subgraphs 
• Generate documents 
• Each 
subgraph 
can 
be 
converted 
into 
a 
tree 
• For 
each 
subgraphs, 
generate 
a 
JSON 
representa7on
Using the RDF stack for Graph Operations 
• RDF as generic and common graph data model 
• Simplify integration of various data sources 
• Many tools available to convert various data formats into RDF 
• Supported by major Graph DBs: Neo4J, Titan, etc 
• SPARQL vs SQL 
• It 
has 
contruct!
Reference Architecture 
• Currently, it requires a lot of design and development effort to index and search a 
knowledge graph 
• Gives 
some 
reasons, 
e.g., 
no 
generic 
solu7ons, 
ad-­‐hoc 
solu7ons 
for 
a 
par7cular 
user 
apps 
or 
graphs, 
etc. 
• Custom 
code 
-­‐> 
costly 
to 
maintain, 
limited 
extensibility 
• We are building a reference architecture to simplify the task and reduce the effort 
involved 
• Reduce 
custom 
code 
by 
use 
of 
generic, 
standardised 
tools 
• Quickly 
adapt 
to 
change 
in 
data 
schema 
or 
new 
data 
requirements
Extraction & Mapping 
• Major efforts involved 
• Extract 
graph 
subset 
of 
interest 
• Given 
a 
graph 
pa8ern, 
extract 
all 
possible 
matching 
subgraphs 
• Map 
it 
to 
a 
simplified 
schema 
• Graph 
schema 
is 
usually 
more 
verbose 
for 
flexibility 
reasons. 
• However 
apps 
do 
not 
need 
such 
flexibility, 
and 
the 
schema 
can 
be 
simplified. 
• Solution: SPARQL 
• SQL 
for 
graph-­‐oriented 
databases 
• Standardised 
language 
to 
query 
RDF 
graphs 
• Supported 
by 
most 
major 
Graph 
DBs: 
Neo4j, 
Titan, 
Virtuoso, 
Stardog, 
Oracle, 
etc.
Extraction & Mapping 
• Approach similar to Solr’s data import 
handler for RDBMs 
• Two queries: 
1. Query 
to 
retrieve 
all 
iden7fiers 
SELECT ?id WHERE { 
?id a <http://rdf.freebase.com/ns/film.film> . 
} 
LIMIT 10000
Extraction & Mapping 
• Approach similar to Solr’s data import 
handler for RDBMs 
• Two queries: 
1. Query 
to 
retrieve 
all 
iden7fiers 
2. Query 
to 
construct 
the 
subgraph 
from 
one 
iden7fier 
CONSTRUCT { 
?id siren:title ?title . 
?id siren:actors ?actor . 
?actor siren:name ?name . 
?actor siren:nationality ?nat . 
} 
WHERE { 
?id rdfs:label ?title . 
?id freebase:film.film.starring ?starring . 
?starring freebase:film.film.actor ?actor . 
?actor rdfs:label ?name . 
?actor freebase:people.person.nationality ?nat . 
}
Extraction & Mapping 
CONSTRUCT { 
?id siren:title ?title . 
?id siren:actors ?actor . 
?actor siren:name ?name . 
?actor siren:nationality ?nat . 
} 
WHERE { 
?id rdfs:label ?title . 
?id freebase:film.film.starring ?starring . 
?starring freebase:film.film.actor ?actor . 
?actor rdfs:label ?name . 
?actor freebase:people.person.nationality ?nat . 
} 
label 
starring 
Goldeneye 
actor 
… 
name 
nationality 
Pierce 
Brosnan 
Irish 
character name 
occupation 
James 
Bond 
Spy 
title Goldeneye 
actor 
… 
name 
nationality 
Pierce 
Brosnan 
Irish
Extraction & Mapping 
CONSTRUCT { 
?id siren:title ?title . 
?id siren:actors ?actor . 
?actor siren:name ?name . 
?actor siren:nationality ?nat . 
} 
WHERE { 
?id rdfs:label ?title . 
?id freebase:film.film.starring ?starring . 
?starring freebase:film.film.actor ?actor . 
?actor rdfs:label ?name . 
?actor freebase:people.person.nationality ?nat . 
} 
label 
starring 
Goldeneye 
actor 
… 
name 
nationality 
Pierce 
Brosnan 
Irish 
character name 
occupation 
James 
Bond 
Spy
Extraction & Mapping 
CONSTRUCT { 
?id siren:title ?title . 
?id siren:actors ?actor . 
?actor siren:name ?name . 
?actor siren:nationality ?nat . 
} 
WHERE { 
?id rdfs:label ?title . 
?id freebase:film.film.starring ?starring . 
?starring freebase:film.film.actor ?actor . 
?actor rdfs:label ?name . 
?actor freebase:people.person.nationality ?nat . 
} 
label 
starring 
Goldeneye 
actor 
… 
name 
nationality 
Pierce 
Brosnan 
Irish 
character name 
occupation 
James 
Bond 
Spy
Extraction & Mapping 
CONSTRUCT { 
?id siren:title ?title . 
?id siren:actors ?actor . 
?actor siren:name ?name . 
?actor siren:nationality ?nat . 
} 
WHERE { 
?id rdfs:label ?title . 
?id freebase:film.film.starring ?starring . 
?starring freebase:film.film.actor ?actor . 
?actor rdfs:label ?name . 
?actor freebase:people.person.nationality ?nat . 
} 
label 
starring 
Goldeneye 
actor 
… 
name 
nationality 
Pierce 
Brosnan 
Irish 
character name 
occupation 
James 
Bond 
Spy 
title Goldeneye
Extraction & Mapping 
CONSTRUCT { 
?id siren:title ?title . 
?id siren:actors ?actor . 
?actor siren:name ?name . 
?actor siren:nationality ?nat . 
} 
WHERE { 
?id rdfs:label ?title . 
?id freebase:film.film.starring ?starring . 
?starring freebase:film.film.actor ?actor . 
?actor rdfs:label ?name . 
?actor freebase:people.person.nationality ?nat . 
} 
label 
starring 
Goldeneye 
actor 
… 
name 
nationality 
Pierce 
Brosnan 
Irish 
character name 
occupation 
James 
Bond 
Spy 
title Goldeneye
Extraction & Mapping 
CONSTRUCT { 
?id siren:title ?title . 
?id siren:actors ?actor . 
?actor siren:name ?name . 
?actor siren:nationality ?nat . 
} 
WHERE { 
?id rdfs:label ?title . 
?id freebase:film.film.starring ?starring . 
?starring freebase:film.film.actor ?actor . 
?actor rdfs:label ?name . 
?actor freebase:people.person.nationality ?nat . 
} 
label 
starring 
Goldeneye 
actor 
… 
name 
nationality 
Pierce 
Brosnan 
Irish 
character name 
occupation 
James 
Bond 
Spy 
title Goldeneye 
actor 
…
Extraction & Mapping 
CONSTRUCT { 
?id siren:title ?title . 
?id siren:actors ?actor . 
?actor siren:name ?name . 
?actor siren:nationality ?nat . 
} 
WHERE { 
?id rdfs:label ?title . 
?id freebase:film.film.starring ?starring . 
?starring freebase:film.film.actor ?actor . 
?actor rdfs:label ?name . 
?actor freebase:people.person.nationality ?nat . 
} 
label 
starring 
Goldeneye 
actor 
… 
name 
nationality 
Pierce 
Brosnan 
Irish 
character name 
occupation 
James 
Bond 
Spy 
title Goldeneye 
actor 
…
Extraction & Mapping 
CONSTRUCT { 
?id siren:title ?title . 
?id siren:actors ?actor . 
?actor siren:name ?name . 
?actor siren:nationality ?nat . 
} 
WHERE { 
?id rdfs:label ?title . 
?id freebase:film.film.starring ?starring . 
?starring freebase:film.film.actor ?actor . 
?actor rdfs:label ?name . 
?actor freebase:people.person.nationality ?nat . 
} 
label 
starring 
Goldeneye 
actor 
… 
name 
nationality 
Pierce 
Brosnan 
Irish 
character name 
occupation 
James 
Bond 
Spy 
title Goldeneye 
actor 
… 
name 
nationality 
Pierce 
Brosnan 
Irish
Representing Entity Graph in JSON 
• Each entity subgraph can be mapped to a tree 
• How to convert graph into JSON ? 
• Solution: JSON-LD 
• Standardised 
format 
to 
export 
RDF 
graphs 
into 
JSON 
• Also 
supported 
by 
major 
Graph 
DBs 
{ 
"@id": "m/01npcx", 
"title": "Goldeneye", 
"actor": [ 
{ 
"@id": "m/018p4y" 
"name": "Pierce Brosnan", 
"nationality": "Irish" 
}, 
{ 
... 
} 
] 
} 
title Goldeneye 
actor 
… 
name 
nationality 
Pierce 
Brosnan 
Irish
JSON in Solr: SIREn’s new update Handler 
• We need to easily ingest arbitrary JSON documents in Solr 
• Update Handler that mimics Elasticsearch 
• Index 
full 
JSON 
into 
a 
SIREn’s 
field 
• Fla8en 
JSON 
into 
a 
set 
of 
Solr’s 
fields 
• Schema 
updated 
automa7cally 
(using 
Solr’s 
ManagedSchema) 
• Reduce up-front design effort 
• No 
need 
to 
design 
the 
schema 
beforehand 
• You 
can 
change 
the 
SPARQL 
query 
upfront, 
it 
will 
dynamically 
adapt
SIREn’s Update Handler 
$ curl http://localhost:8983/solr/collection1/siren/add -H "Content-Type: application/json" --data-binary ' 
{ 
"@id": "m/01npcx", 
"title": "Goldeneye", 
"actor": [ 
{ 
"@id": "m/018p4y" 
"name": "Pierce Brosnan", 
"nationality": "Irish" 
}, 
{ 
... 
} 
] 
}' 
Indexing JSON with SIREn’s Update Handler
SIREn’s Update Handler 
$ curl –XPOST 'http://localhost:8983/solr/collection1/tree 
?facet=true&facet.mincount=1 
&facet.field=actor.nationality 
{ 
"node": { 
"attribute": "title", 
"query": "Goldeneye" 
} 
}' 
Querying JSON with SIREn’s Update Handler
Handling New Data Schema 
• Show example of new schema requirement and how this is quickly integrated in the 
pipeline with minimum effort 
• This 
might 
be 
be8er 
demonstrated 
with 
a 
live 
demo 
• New data requirement: 
• A8ach 
name 
of 
characters 
to 
an 
actor 
• Only one modification: SPARQL queries 
• The change will be dynamically propagated downstream
Updating 
Sparql 
1 
en7ty 
to 
be 
updated 
Label: 
-­‐-­‐-­‐-­‐-­‐ 
Type: 
-­‐-­‐-­‐-­‐-­‐ 
Desc 
: 
-­‐-­‐-­‐-­‐-­‐ 
Prop 
1: 
-­‐-­‐-­‐-­‐-­‐ 
Prop 
2: 
-­‐-­‐-­‐-­‐-­‐ 
..Prop 
N: 
-­‐-­‐-­‐-­‐-­‐ 
Movies, 
Label: 
-­‐-­‐-­‐-­‐-­‐ 
People, 
Companies,… 
Type: 
Movie 
Nested 
prop:value 
s 
Regular 
prop:value 
Customizable 
Materializa7on 
Templates 
Siren 
Query 
Language 
Same 
en7ty 
materialized 
2 
total 
en7ty 
documents 
updated
Demo
Possible next steps 
Sparql 
Label: 
-­‐-­‐-­‐-­‐-­‐ 
Type: 
-­‐-­‐-­‐-­‐-­‐ 
Desc 
: 
-­‐-­‐-­‐-­‐-­‐ 
Prop 
1: 
-­‐-­‐-­‐-­‐-­‐ 
Prop 
2: 
-­‐-­‐-­‐-­‐-­‐ 
..Prop 
N: 
-­‐-­‐-­‐-­‐-­‐ 
Movies, 
Label: 
-­‐-­‐-­‐-­‐-­‐ 
People, 
Companies,… 
Type: 
Movie 
Nested 
prop:values 
Regular 
prop:value 
Customizable 
Materializa7on 
Templates 
Query 
Time 
Join 
Query 
Translator 
Low 
Level 
Siren 
Query 
Language 
Siren 
Query 
Language
Wrapping up 
• A Knowledge Graph does not immediately match your typical search problem 
• Many 
useful 
pieces 
of 
data 
a8ached 
to 
“neighbouring 
nodes” 
• An efficient index or query time join strategy is required 
• Introduced a reference architecture based on 
• SPARQL 
templates, 
• JSON 
LD 
• .. Directly ingested by SIREn 1.4 for Solr 
• High 
quality 
free 
text 
search 
• Structured/Semistructured 
queries 
• Still “customization” to do, but better than ad hoc approaches. 
• See more at http://siren.solutions

More Related Content

What's hot

Crowdsourced query augmentation through the semantic discovery of domain spec...
Crowdsourced query augmentation through the semantic discovery of domain spec...Crowdsourced query augmentation through the semantic discovery of domain spec...
Crowdsourced query augmentation through the semantic discovery of domain spec...Trey Grainger
 
Building a Real-time Solr-powered Recommendation Engine
Building a Real-time Solr-powered Recommendation EngineBuilding a Real-time Solr-powered Recommendation Engine
Building a Real-time Solr-powered Recommendation Enginelucenerevolution
 
Self-learned Relevancy with Apache Solr
Self-learned Relevancy with Apache SolrSelf-learned Relevancy with Apache Solr
Self-learned Relevancy with Apache SolrTrey Grainger
 
Building Search & Recommendation Engines
Building Search & Recommendation EnginesBuilding Search & Recommendation Engines
Building Search & Recommendation EnginesTrey Grainger
 
Webinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrWebinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrLucidworks
 
Enhancing relevancy through personalization & semantic search
Enhancing relevancy through personalization & semantic searchEnhancing relevancy through personalization & semantic search
Enhancing relevancy through personalization & semantic searchlucenerevolution
 
The Apache Solr Smart Data Ecosystem
The Apache Solr Smart Data EcosystemThe Apache Solr Smart Data Ecosystem
The Apache Solr Smart Data EcosystemTrey Grainger
 
Intent Algorithms: The Data Science of Smart Information Retrieval Systems
Intent Algorithms: The Data Science of Smart Information Retrieval SystemsIntent Algorithms: The Data Science of Smart Information Retrieval Systems
Intent Algorithms: The Data Science of Smart Information Retrieval SystemsTrey Grainger
 
The Semantic Knowledge Graph
The Semantic Knowledge GraphThe Semantic Knowledge Graph
The Semantic Knowledge GraphTrey Grainger
 
Reflected intelligence evolving self-learning data systems
Reflected intelligence  evolving self-learning data systemsReflected intelligence  evolving self-learning data systems
Reflected intelligence evolving self-learning data systemsTrey Grainger
 
Thought Vectors and Knowledge Graphs in AI-powered Search
Thought Vectors and Knowledge Graphs in AI-powered SearchThought Vectors and Knowledge Graphs in AI-powered Search
Thought Vectors and Knowledge Graphs in AI-powered SearchTrey Grainger
 
Semantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/SolrSemantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/SolrTrey Grainger
 
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...Lucidworks
 
The Intent Algorithms of Search & Recommendation Engines
The Intent Algorithms of Search & Recommendation EnginesThe Intent Algorithms of Search & Recommendation Engines
The Intent Algorithms of Search & Recommendation EnginesTrey Grainger
 
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...Lucidworks
 
Natural Language Search with Knowledge Graphs (Haystack 2019)
Natural Language Search with Knowledge Graphs (Haystack 2019)Natural Language Search with Knowledge Graphs (Haystack 2019)
Natural Language Search with Knowledge Graphs (Haystack 2019)Trey Grainger
 
Building a real time, solr-powered recommendation engine
Building a real time, solr-powered recommendation engineBuilding a real time, solr-powered recommendation engine
Building a real time, solr-powered recommendation engineTrey Grainger
 
A Multifaceted Look At Faceting - Ted Sullivan, Lucidworks
A Multifaceted Look At Faceting - Ted Sullivan, LucidworksA Multifaceted Look At Faceting - Ted Sullivan, Lucidworks
A Multifaceted Look At Faceting - Ted Sullivan, LucidworksLucidworks
 
Graphs, Graphs everywhere - Lucene powered relation exploration
Graphs, Graphs everywhere - Lucene powered relation explorationGraphs, Graphs everywhere - Lucene powered relation exploration
Graphs, Graphs everywhere - Lucene powered relation explorationZbyszko Papierski
 

What's hot (20)

Crowdsourced query augmentation through the semantic discovery of domain spec...
Crowdsourced query augmentation through the semantic discovery of domain spec...Crowdsourced query augmentation through the semantic discovery of domain spec...
Crowdsourced query augmentation through the semantic discovery of domain spec...
 
Building a Real-time Solr-powered Recommendation Engine
Building a Real-time Solr-powered Recommendation EngineBuilding a Real-time Solr-powered Recommendation Engine
Building a Real-time Solr-powered Recommendation Engine
 
Self-learned Relevancy with Apache Solr
Self-learned Relevancy with Apache SolrSelf-learned Relevancy with Apache Solr
Self-learned Relevancy with Apache Solr
 
Building Search & Recommendation Engines
Building Search & Recommendation EnginesBuilding Search & Recommendation Engines
Building Search & Recommendation Engines
 
Webinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrWebinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with Solr
 
Enhancing relevancy through personalization & semantic search
Enhancing relevancy through personalization & semantic searchEnhancing relevancy through personalization & semantic search
Enhancing relevancy through personalization & semantic search
 
The Apache Solr Smart Data Ecosystem
The Apache Solr Smart Data EcosystemThe Apache Solr Smart Data Ecosystem
The Apache Solr Smart Data Ecosystem
 
Intent Algorithms: The Data Science of Smart Information Retrieval Systems
Intent Algorithms: The Data Science of Smart Information Retrieval SystemsIntent Algorithms: The Data Science of Smart Information Retrieval Systems
Intent Algorithms: The Data Science of Smart Information Retrieval Systems
 
The Semantic Knowledge Graph
The Semantic Knowledge GraphThe Semantic Knowledge Graph
The Semantic Knowledge Graph
 
Vespa, A Tour
Vespa, A TourVespa, A Tour
Vespa, A Tour
 
Reflected intelligence evolving self-learning data systems
Reflected intelligence  evolving self-learning data systemsReflected intelligence  evolving self-learning data systems
Reflected intelligence evolving self-learning data systems
 
Thought Vectors and Knowledge Graphs in AI-powered Search
Thought Vectors and Knowledge Graphs in AI-powered SearchThought Vectors and Knowledge Graphs in AI-powered Search
Thought Vectors and Knowledge Graphs in AI-powered Search
 
Semantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/SolrSemantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/Solr
 
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...
 
The Intent Algorithms of Search & Recommendation Engines
The Intent Algorithms of Search & Recommendation EnginesThe Intent Algorithms of Search & Recommendation Engines
The Intent Algorithms of Search & Recommendation Engines
 
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...
 
Natural Language Search with Knowledge Graphs (Haystack 2019)
Natural Language Search with Knowledge Graphs (Haystack 2019)Natural Language Search with Knowledge Graphs (Haystack 2019)
Natural Language Search with Knowledge Graphs (Haystack 2019)
 
Building a real time, solr-powered recommendation engine
Building a real time, solr-powered recommendation engineBuilding a real time, solr-powered recommendation engine
Building a real time, solr-powered recommendation engine
 
A Multifaceted Look At Faceting - Ted Sullivan, Lucidworks
A Multifaceted Look At Faceting - Ted Sullivan, LucidworksA Multifaceted Look At Faceting - Ted Sullivan, Lucidworks
A Multifaceted Look At Faceting - Ted Sullivan, Lucidworks
 
Graphs, Graphs everywhere - Lucene powered relation exploration
Graphs, Graphs everywhere - Lucene powered relation explorationGraphs, Graphs everywhere - Lucene powered relation exploration
Graphs, Graphs everywhere - Lucene powered relation exploration
 

Viewers also liked

Solr Graph Query: Presented by Kevin Watters, KMW Technology
Solr Graph Query: Presented by Kevin Watters, KMW TechnologySolr Graph Query: Presented by Kevin Watters, KMW Technology
Solr Graph Query: Presented by Kevin Watters, KMW TechnologyLucidworks
 
Webinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and GraphWebinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and GraphLucidworks
 
OrientDB & Lucene
OrientDB & LuceneOrientDB & Lucene
OrientDB & Lucenewolf4ood
 
Tuning Solr for Logs: Presented by Radu Gheorghe, Sematext
Tuning Solr for Logs: Presented by Radu Gheorghe, SematextTuning Solr for Logs: Presented by Radu Gheorghe, Sematext
Tuning Solr for Logs: Presented by Radu Gheorghe, SematextLucidworks
 
Data Integration Ontology Mapping
Data Integration Ontology MappingData Integration Ontology Mapping
Data Integration Ontology MappingPradeep B Pillai
 
Querying the Wikidata Knowledge Graph
Querying the Wikidata Knowledge GraphQuerying the Wikidata Knowledge Graph
Querying the Wikidata Knowledge GraphIoan Toma
 
Using Solr to Search and Analyze Logs
Using Solr to Search and Analyze Logs Using Solr to Search and Analyze Logs
Using Solr to Search and Analyze Logs lucenerevolution
 
Real-Time Recommendations and the Future of Search
Real-Time Recommendations and the Future of SearchReal-Time Recommendations and the Future of Search
Real-Time Recommendations and the Future of SearchGraphAware
 
20150627 bigdatala
20150627 bigdatala20150627 bigdatala
20150627 bigdatalagethue
 
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid Dynamics
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid DynamicsFaceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid Dynamics
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid DynamicsLucidworks
 
SF Solr Meetup - Interactively Search and Visualize Your Big Data
SF Solr Meetup - Interactively Search and Visualize Your Big DataSF Solr Meetup - Interactively Search and Visualize Your Big Data
SF Solr Meetup - Interactively Search and Visualize Your Big Datagethue
 
OrientDB vs Neo4j - and an introduction to NoSQL databases
OrientDB vs Neo4j - and an introduction to NoSQL databasesOrientDB vs Neo4j - and an introduction to NoSQL databases
OrientDB vs Neo4j - and an introduction to NoSQL databasesCurtis Mosters
 
Family tree of data – provenance and neo4j
Family tree of data – provenance and neo4jFamily tree of data – provenance and neo4j
Family tree of data – provenance and neo4jM. David Allen
 
Graph Adoption at Gamesys - Toby O'Rourke @ GraphConnect SF 2013
Graph Adoption at Gamesys - Toby O'Rourke @ GraphConnect SF 2013Graph Adoption at Gamesys - Toby O'Rourke @ GraphConnect SF 2013
Graph Adoption at Gamesys - Toby O'Rourke @ GraphConnect SF 2013Neo4j
 
Parallel SQL and Streaming Expressions in Apache Solr 6
Parallel SQL and Streaming Expressions in Apache Solr 6Parallel SQL and Streaming Expressions in Apache Solr 6
Parallel SQL and Streaming Expressions in Apache Solr 6Shalin Shekhar Mangar
 
South Big Data Hub: Text Data Analysis Panel
South Big Data Hub: Text Data Analysis PanelSouth Big Data Hub: Text Data Analysis Panel
South Big Data Hub: Text Data Analysis PanelTrey Grainger
 
Natural Language Processing with Neo4j
Natural Language Processing with Neo4jNatural Language Processing with Neo4j
Natural Language Processing with Neo4jKenny Bastani
 
Large Scale Log Analytics with Solr (from Lucene Revolution 2015)
Large Scale Log Analytics with Solr (from Lucene Revolution 2015)Large Scale Log Analytics with Solr (from Lucene Revolution 2015)
Large Scale Log Analytics with Solr (from Lucene Revolution 2015)Sematext Group, Inc.
 

Viewers also liked (19)

Solr Graph Query: Presented by Kevin Watters, KMW Technology
Solr Graph Query: Presented by Kevin Watters, KMW TechnologySolr Graph Query: Presented by Kevin Watters, KMW Technology
Solr Graph Query: Presented by Kevin Watters, KMW Technology
 
Webinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and GraphWebinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and Graph
 
OrientDB & Lucene
OrientDB & LuceneOrientDB & Lucene
OrientDB & Lucene
 
Tuning Solr for Logs: Presented by Radu Gheorghe, Sematext
Tuning Solr for Logs: Presented by Radu Gheorghe, SematextTuning Solr for Logs: Presented by Radu Gheorghe, Sematext
Tuning Solr for Logs: Presented by Radu Gheorghe, Sematext
 
Data Integration Ontology Mapping
Data Integration Ontology MappingData Integration Ontology Mapping
Data Integration Ontology Mapping
 
Querying the Wikidata Knowledge Graph
Querying the Wikidata Knowledge GraphQuerying the Wikidata Knowledge Graph
Querying the Wikidata Knowledge Graph
 
Using Solr to Search and Analyze Logs
Using Solr to Search and Analyze Logs Using Solr to Search and Analyze Logs
Using Solr to Search and Analyze Logs
 
Real-Time Recommendations and the Future of Search
Real-Time Recommendations and the Future of SearchReal-Time Recommendations and the Future of Search
Real-Time Recommendations and the Future of Search
 
20150627 bigdatala
20150627 bigdatala20150627 bigdatala
20150627 bigdatala
 
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid Dynamics
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid DynamicsFaceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid Dynamics
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid Dynamics
 
SF Solr Meetup - Interactively Search and Visualize Your Big Data
SF Solr Meetup - Interactively Search and Visualize Your Big DataSF Solr Meetup - Interactively Search and Visualize Your Big Data
SF Solr Meetup - Interactively Search and Visualize Your Big Data
 
OrientDB vs Neo4j - and an introduction to NoSQL databases
OrientDB vs Neo4j - and an introduction to NoSQL databasesOrientDB vs Neo4j - and an introduction to NoSQL databases
OrientDB vs Neo4j - and an introduction to NoSQL databases
 
PSL Overview
PSL OverviewPSL Overview
PSL Overview
 
Family tree of data – provenance and neo4j
Family tree of data – provenance and neo4jFamily tree of data – provenance and neo4j
Family tree of data – provenance and neo4j
 
Graph Adoption at Gamesys - Toby O'Rourke @ GraphConnect SF 2013
Graph Adoption at Gamesys - Toby O'Rourke @ GraphConnect SF 2013Graph Adoption at Gamesys - Toby O'Rourke @ GraphConnect SF 2013
Graph Adoption at Gamesys - Toby O'Rourke @ GraphConnect SF 2013
 
Parallel SQL and Streaming Expressions in Apache Solr 6
Parallel SQL and Streaming Expressions in Apache Solr 6Parallel SQL and Streaming Expressions in Apache Solr 6
Parallel SQL and Streaming Expressions in Apache Solr 6
 
South Big Data Hub: Text Data Analysis Panel
South Big Data Hub: Text Data Analysis PanelSouth Big Data Hub: Text Data Analysis Panel
South Big Data Hub: Text Data Analysis Panel
 
Natural Language Processing with Neo4j
Natural Language Processing with Neo4jNatural Language Processing with Neo4j
Natural Language Processing with Neo4j
 
Large Scale Log Analytics with Solr (from Lucene Revolution 2015)
Large Scale Log Analytics with Solr (from Lucene Revolution 2015)Large Scale Log Analytics with Solr (from Lucene Revolution 2015)
Large Scale Log Analytics with Solr (from Lucene Revolution 2015)
 

Similar to Searching and Querying Knowledge Graphs with Solr/SIREn - A Reference Architecture: Presented by Renaud Delbru & Giovanni Tummarello, SIREn Solutions

PIMped Papyrus - A Language Workbench for UML DSLs
PIMped Papyrus - A Language Workbench for UML DSLsPIMped Papyrus - A Language Workbench for UML DSLs
PIMped Papyrus - A Language Workbench for UML DSLsAccenture | SolutionsIQ
 
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Introduction to Graph databases and Neo4j (by Stefan Armbruster)Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Introduction to Graph databases and Neo4j (by Stefan Armbruster)barcelonajug
 
2010 10-building-global-listening-platform-with-solr
2010 10-building-global-listening-platform-with-solr2010 10-building-global-listening-platform-with-solr
2010 10-building-global-listening-platform-with-solrLucidworks (Archived)
 
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...Jean Ihm
 
Graphs fun vjug2
Graphs fun vjug2Graphs fun vjug2
Graphs fun vjug2Neo4j
 
RedisSearch / CRDT: Kyle Davis, Meir Shpilraien
RedisSearch / CRDT: Kyle Davis, Meir ShpilraienRedisSearch / CRDT: Kyle Davis, Meir Shpilraien
RedisSearch / CRDT: Kyle Davis, Meir ShpilraienRedis Labs
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large GraphsNishant Gandhi
 
Designing and Implementing Search Solutions
Designing and Implementing Search SolutionsDesigning and Implementing Search Solutions
Designing and Implementing Search SolutionsFindwise
 
No SQL : Which way to go? Presented at DDDMelbourne 2015
No SQL : Which way to go?  Presented at DDDMelbourne 2015No SQL : Which way to go?  Presented at DDDMelbourne 2015
No SQL : Which way to go? Presented at DDDMelbourne 2015Himanshu Desai
 
Case study of Rujhaan.com (A social news app )
Case study of Rujhaan.com (A social news app )Case study of Rujhaan.com (A social news app )
Case study of Rujhaan.com (A social news app )Rahul Jain
 
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global Lucidworks
 
Web analytics at scale with Druid at naver.com
Web analytics at scale with Druid at naver.comWeb analytics at scale with Druid at naver.com
Web analytics at scale with Druid at naver.comJungsu Heo
 
'Natural born killers, SQL performance issues to avoid'
'Natural born killers, SQL performance issues to avoid''Natural born killers, SQL performance issues to avoid'
'Natural born killers, SQL performance issues to avoid'damienjoyce
 
How to Achieve Scale with MongoDB
How to Achieve Scale with MongoDBHow to Achieve Scale with MongoDB
How to Achieve Scale with MongoDBMongoDB
 

Similar to Searching and Querying Knowledge Graphs with Solr/SIREn - A Reference Architecture: Presented by Renaud Delbru & Giovanni Tummarello, SIREn Solutions (20)

MongoDB Basics
MongoDB BasicsMongoDB Basics
MongoDB Basics
 
PIMped Papyrus - A Language Workbench for UML DSLs
PIMped Papyrus - A Language Workbench for UML DSLsPIMped Papyrus - A Language Workbench for UML DSLs
PIMped Papyrus - A Language Workbench for UML DSLs
 
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Introduction to Graph databases and Neo4j (by Stefan Armbruster)Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
 
2010 10-building-global-listening-platform-with-solr
2010 10-building-global-listening-platform-with-solr2010 10-building-global-listening-platform-with-solr
2010 10-building-global-listening-platform-with-solr
 
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...
 
Graphs fun vjug2
Graphs fun vjug2Graphs fun vjug2
Graphs fun vjug2
 
RedisSearch / CRDT: Kyle Davis, Meir Shpilraien
RedisSearch / CRDT: Kyle Davis, Meir ShpilraienRedisSearch / CRDT: Kyle Davis, Meir Shpilraien
RedisSearch / CRDT: Kyle Davis, Meir Shpilraien
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large Graphs
 
Neo4j in Depth
Neo4j in DepthNeo4j in Depth
Neo4j in Depth
 
Designing and Implementing Search Solutions
Designing and Implementing Search SolutionsDesigning and Implementing Search Solutions
Designing and Implementing Search Solutions
 
No SQL : Which way to go? Presented at DDDMelbourne 2015
No SQL : Which way to go?  Presented at DDDMelbourne 2015No SQL : Which way to go?  Presented at DDDMelbourne 2015
No SQL : Which way to go? Presented at DDDMelbourne 2015
 
NoSQL, which way to go?
NoSQL, which way to go?NoSQL, which way to go?
NoSQL, which way to go?
 
Case study of Rujhaan.com (A social news app )
Case study of Rujhaan.com (A social news app )Case study of Rujhaan.com (A social news app )
Case study of Rujhaan.com (A social news app )
 
Mongodb my
Mongodb myMongodb my
Mongodb my
 
MongoDB
MongoDBMongoDB
MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
 
Web analytics at scale with Druid at naver.com
Web analytics at scale with Druid at naver.comWeb analytics at scale with Druid at naver.com
Web analytics at scale with Druid at naver.com
 
'Natural born killers, SQL performance issues to avoid'
'Natural born killers, SQL performance issues to avoid''Natural born killers, SQL performance issues to avoid'
'Natural born killers, SQL performance issues to avoid'
 
How to Achieve Scale with MongoDB
How to Achieve Scale with MongoDBHow to Achieve Scale with MongoDB
How to Achieve Scale with MongoDB
 

More from Lucidworks

Search is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategySearch is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategyLucidworks
 
Drive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceDrive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceLucidworks
 
How Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsHow Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsLucidworks
 
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks
 
Connected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesConnected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesLucidworks
 
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Lucidworks
 
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...Lucidworks
 
Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Lucidworks
 
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Lucidworks
 
AI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteAI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteLucidworks
 
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentThe Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentLucidworks
 
Webinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeWebinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeLucidworks
 
Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Lucidworks
 
Applying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchApplying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchLucidworks
 
Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Lucidworks
 
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyWebinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyLucidworks
 
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Lucidworks
 
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceApply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceLucidworks
 
Webinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchWebinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchLucidworks
 
Why Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondWhy Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondLucidworks
 

More from Lucidworks (20)

Search is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategySearch is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce Strategy
 
Drive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceDrive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in Salesforce
 
How Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsHow Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant Products
 
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
 
Connected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesConnected Experiences Are Personalized Experiences
Connected Experiences Are Personalized Experiences
 
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
 
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
 
Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020
 
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
 
AI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteAI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and Rosette
 
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentThe Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
 
Webinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeWebinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - Europe
 
Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19
 
Applying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchApplying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 Research
 
Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1
 
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyWebinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
 
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
 
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceApply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
 
Webinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchWebinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise Search
 
Why Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondWhy Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and Beyond
 

Recently uploaded

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 

Recently uploaded (20)

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 

Searching and Querying Knowledge Graphs with Solr/SIREn - A Reference Architecture: Presented by Renaud Delbru & Giovanni Tummarello, SIREn Solutions

  • 1.
  • 2. Searching and Querying Knowledge Graphs with Solr/SIREn: a Reference Architecture Renaud Delbru Giovanni Tummarello
  • 4. Agenda • What is Knowledge Graph ? • Goals and approaches to searching a Knowledge Graph • A reference Architecture • Demo • Conclusions
  • 5. What is a “Knowledge Graph”? See also: • http://www.google.ie/insidesearch/features/search/knowledge.html • http://semanticweb.com/at-semtechbiz-knowledge-graphs-are-everywhere_b37724
  • 6. An Enterprise Knowledge Graph RDF Data Graph Tables Data Graphs Content References, Key Concepts, Rela7ons External Domain Data Customer Data Domain Ontologies NEW KNOWLEDGE PRODUCTS • Smarter search • Faceted Browsing • Domain/Customer specific targe9ng and mashups
  • 8. Complex relational structure (schema) Film - alias - directed_by - starring - rating - soundtrack - ... Director - alias - gender - nationality - spouse - ... Performance - actor - character - type - ... Actor - alias - netflix_id - gender - nationality - spouse - ... Character - alias - created_by - species - occupation - powers - ... Rating - country - rating_system - min_age - max_age - ... Soundtrack - alias - artist - concert_tour - release - ... Artist - alias - genre - origin - album - label - ... Release - date - length - track_list - label - ... Concert Tour - start_date - end_date - gross_proceedes - concerts - ...
  • 9. Complex relational structure (instance) label types “Award Winning Work” lastName “US” label “Person” Film.film Award.Award_winning_work label label Person.Person type type label performance Film.Performance type label Film.Character “character” type performance “Forrest Gump” “Actor” “Robert Zemekis” m432432 “An American movie released in .. ” h8p://freebase.com/m123123 “Forrest” “Gump” firstName lastName “Life is like a box of chocolate said Forrest’s mom.. ” “Film” “US” “Tom” “Hanks” firstName “Oscar winner actor, best known for his interpreta9ons of.. ” “US” firstName “Jenny” “-­‐-­‐-­‐” “US” “Jenny” “-­‐-­‐-­‐” lastName “decrip9on here firstName lastName “Forres’s Gump friend and eventually wife, she will die of AIDS …” Person.Actor
  • 10. What do we mean to search a KG? • Typically “Entity Search” on the content of a KG • .. via full text entity search. • “Forrest Gump” • “Forrest .. Movie” • “Tom Hanks 1994” • “box of chocolate tom forrest jenny” • .. or structured/semistructured search • “house” • *.performance.actor.na7onality = “UK” • *.performance.character.na7onality=“US” • … with sorting/ranking/faceting etc • … cost effectively, at interactive/production speed
  • 11. Challenges and tradeoffs • High diversity of data • Large schema • Arbitrary en7ty rela7ons • Relational data • En7ty search based on neighbouring nodes • False posi7ves for mul7 value a8ributes • Updates • Query 7me joins à allows quick changing graphs, might complex to maintain indexes • Index 7me joins à materializa7on, might require considerable reindexing Response Time Update Granularity Index-­‐ Time Join Query-­‐ Time Join
  • 12. A typical basic approach • Basic approach typical flattens all 1 doc per entity • Pro: relatively easy • Cons: • Lose the informa7on about rela7onships and nested data • Loss of precision when fla8ening, false posi7ves • Cant do structured queries • Primi7ve ranking Document Film Title Description(s) Actors (MVA) Nationalities (MVA) More “related text”
  • 13. Relationally/Nested data aware approaches • Query-Time Join • One (flat) document per en7ty • Join result sets at query 7me to compute rela7ons • Index-time Join • One (SIREn) or more (Blockjoin) documents per en7ty • Join computed at index 7me
  • 14. Query Time Join • One (flat) document per entity • Join result sets at query time to compute relations • Similar to RDB • Advantages: • Easier to index and update • Limitations: • Can get to an enormous amounts of joins • high memory requirements to be fast • low response 7me Document Film Document Performance Document Actor Document Actor Document Performance
  • 15. Blockjoin • One (flat) document per entity • Relations computed at index time • Related documents are indexed in a same “block” • Faster response 7me • Works well for small and well-defined schema • Upfront effort required to design and configure the system • Increase memory usage due to crea7on of ar7ficial documents Document Film Document Actor Document Block Document Actor Document Performance
  • 16. SIREn • Lucene/Solr/Elasticsearch plugin for indexing and searching JSON • Rich data model (JSON) • Nested objects, nested arrays, datatypes • Mul7-­‐valued a8ributes Schema-agnostic • No need to define structure (nested model) • No need to define schema (fields) • Advantages of SIREn vs Blockjoin • Can handle arbitrary and large nested model • Be8er memory usage Document Film 1 Performance Actor Actor 1.1 Performance 1.2 1.1.1 1.1.2
  • 17. Reference Architecture (SIREn based) Sparql Label: -­‐-­‐-­‐-­‐-­‐ Type: -­‐-­‐-­‐-­‐-­‐ Desc : -­‐-­‐-­‐-­‐-­‐ Prop 1: -­‐-­‐-­‐-­‐-­‐ Prop 2: -­‐-­‐-­‐-­‐-­‐ ..Prop N: -­‐-­‐-­‐-­‐-­‐ Movies, Label: -­‐-­‐-­‐-­‐-­‐ People, Companies,… Type: Movie Nested prop:value s Regular prop:value Customizable Materializa7on Templates Superseeds default doc Siren Query Language
  • 18. Our Reference Architecture • Currently, it requires a lot of design and development effort to index and search a knowledge graph • No generic solu7on, ad-­‐hoc solu7on for a par7cular user apps or graphs. • Custom code -­‐> costly to maintain, limited extensibility • We are building a reference architecture to simplify the task and reduce the effort involved • Reduce custom code by use of generic, standardised tools • Quickly adapt to change in the data schema or to new data requirements
  • 19. Reference Architecture • Carefully analyse data to understand which node will be updated, which nodes will not • Nodes that are likely to be updated • Query-­‐7me join • Nodes that are rela7vely fixed over 7me • Index-­‐7me join • Split the graph accordingly • Each node will be associated with a par7cular graph pa8erns to extract • Output is a set of subgraphs • Generate documents • Each subgraph can be converted into a tree • For each subgraphs, generate a JSON representa7on
  • 20. Using the RDF stack for Graph Operations • RDF as generic and common graph data model • Simplify integration of various data sources • Many tools available to convert various data formats into RDF • Supported by major Graph DBs: Neo4J, Titan, etc • SPARQL vs SQL • It has contruct!
  • 21. Reference Architecture • Currently, it requires a lot of design and development effort to index and search a knowledge graph • Gives some reasons, e.g., no generic solu7ons, ad-­‐hoc solu7ons for a par7cular user apps or graphs, etc. • Custom code -­‐> costly to maintain, limited extensibility • We are building a reference architecture to simplify the task and reduce the effort involved • Reduce custom code by use of generic, standardised tools • Quickly adapt to change in data schema or new data requirements
  • 22. Extraction & Mapping • Major efforts involved • Extract graph subset of interest • Given a graph pa8ern, extract all possible matching subgraphs • Map it to a simplified schema • Graph schema is usually more verbose for flexibility reasons. • However apps do not need such flexibility, and the schema can be simplified. • Solution: SPARQL • SQL for graph-­‐oriented databases • Standardised language to query RDF graphs • Supported by most major Graph DBs: Neo4j, Titan, Virtuoso, Stardog, Oracle, etc.
  • 23. Extraction & Mapping • Approach similar to Solr’s data import handler for RDBMs • Two queries: 1. Query to retrieve all iden7fiers SELECT ?id WHERE { ?id a <http://rdf.freebase.com/ns/film.film> . } LIMIT 10000
  • 24. Extraction & Mapping • Approach similar to Solr’s data import handler for RDBMs • Two queries: 1. Query to retrieve all iden7fiers 2. Query to construct the subgraph from one iden7fier CONSTRUCT { ?id siren:title ?title . ?id siren:actors ?actor . ?actor siren:name ?name . ?actor siren:nationality ?nat . } WHERE { ?id rdfs:label ?title . ?id freebase:film.film.starring ?starring . ?starring freebase:film.film.actor ?actor . ?actor rdfs:label ?name . ?actor freebase:people.person.nationality ?nat . }
  • 25. Extraction & Mapping CONSTRUCT { ?id siren:title ?title . ?id siren:actors ?actor . ?actor siren:name ?name . ?actor siren:nationality ?nat . } WHERE { ?id rdfs:label ?title . ?id freebase:film.film.starring ?starring . ?starring freebase:film.film.actor ?actor . ?actor rdfs:label ?name . ?actor freebase:people.person.nationality ?nat . } label starring Goldeneye actor … name nationality Pierce Brosnan Irish character name occupation James Bond Spy title Goldeneye actor … name nationality Pierce Brosnan Irish
  • 26. Extraction & Mapping CONSTRUCT { ?id siren:title ?title . ?id siren:actors ?actor . ?actor siren:name ?name . ?actor siren:nationality ?nat . } WHERE { ?id rdfs:label ?title . ?id freebase:film.film.starring ?starring . ?starring freebase:film.film.actor ?actor . ?actor rdfs:label ?name . ?actor freebase:people.person.nationality ?nat . } label starring Goldeneye actor … name nationality Pierce Brosnan Irish character name occupation James Bond Spy
  • 27. Extraction & Mapping CONSTRUCT { ?id siren:title ?title . ?id siren:actors ?actor . ?actor siren:name ?name . ?actor siren:nationality ?nat . } WHERE { ?id rdfs:label ?title . ?id freebase:film.film.starring ?starring . ?starring freebase:film.film.actor ?actor . ?actor rdfs:label ?name . ?actor freebase:people.person.nationality ?nat . } label starring Goldeneye actor … name nationality Pierce Brosnan Irish character name occupation James Bond Spy
  • 28. Extraction & Mapping CONSTRUCT { ?id siren:title ?title . ?id siren:actors ?actor . ?actor siren:name ?name . ?actor siren:nationality ?nat . } WHERE { ?id rdfs:label ?title . ?id freebase:film.film.starring ?starring . ?starring freebase:film.film.actor ?actor . ?actor rdfs:label ?name . ?actor freebase:people.person.nationality ?nat . } label starring Goldeneye actor … name nationality Pierce Brosnan Irish character name occupation James Bond Spy title Goldeneye
  • 29. Extraction & Mapping CONSTRUCT { ?id siren:title ?title . ?id siren:actors ?actor . ?actor siren:name ?name . ?actor siren:nationality ?nat . } WHERE { ?id rdfs:label ?title . ?id freebase:film.film.starring ?starring . ?starring freebase:film.film.actor ?actor . ?actor rdfs:label ?name . ?actor freebase:people.person.nationality ?nat . } label starring Goldeneye actor … name nationality Pierce Brosnan Irish character name occupation James Bond Spy title Goldeneye
  • 30. Extraction & Mapping CONSTRUCT { ?id siren:title ?title . ?id siren:actors ?actor . ?actor siren:name ?name . ?actor siren:nationality ?nat . } WHERE { ?id rdfs:label ?title . ?id freebase:film.film.starring ?starring . ?starring freebase:film.film.actor ?actor . ?actor rdfs:label ?name . ?actor freebase:people.person.nationality ?nat . } label starring Goldeneye actor … name nationality Pierce Brosnan Irish character name occupation James Bond Spy title Goldeneye actor …
  • 31. Extraction & Mapping CONSTRUCT { ?id siren:title ?title . ?id siren:actors ?actor . ?actor siren:name ?name . ?actor siren:nationality ?nat . } WHERE { ?id rdfs:label ?title . ?id freebase:film.film.starring ?starring . ?starring freebase:film.film.actor ?actor . ?actor rdfs:label ?name . ?actor freebase:people.person.nationality ?nat . } label starring Goldeneye actor … name nationality Pierce Brosnan Irish character name occupation James Bond Spy title Goldeneye actor …
  • 32. Extraction & Mapping CONSTRUCT { ?id siren:title ?title . ?id siren:actors ?actor . ?actor siren:name ?name . ?actor siren:nationality ?nat . } WHERE { ?id rdfs:label ?title . ?id freebase:film.film.starring ?starring . ?starring freebase:film.film.actor ?actor . ?actor rdfs:label ?name . ?actor freebase:people.person.nationality ?nat . } label starring Goldeneye actor … name nationality Pierce Brosnan Irish character name occupation James Bond Spy title Goldeneye actor … name nationality Pierce Brosnan Irish
  • 33. Representing Entity Graph in JSON • Each entity subgraph can be mapped to a tree • How to convert graph into JSON ? • Solution: JSON-LD • Standardised format to export RDF graphs into JSON • Also supported by major Graph DBs { "@id": "m/01npcx", "title": "Goldeneye", "actor": [ { "@id": "m/018p4y" "name": "Pierce Brosnan", "nationality": "Irish" }, { ... } ] } title Goldeneye actor … name nationality Pierce Brosnan Irish
  • 34. JSON in Solr: SIREn’s new update Handler • We need to easily ingest arbitrary JSON documents in Solr • Update Handler that mimics Elasticsearch • Index full JSON into a SIREn’s field • Fla8en JSON into a set of Solr’s fields • Schema updated automa7cally (using Solr’s ManagedSchema) • Reduce up-front design effort • No need to design the schema beforehand • You can change the SPARQL query upfront, it will dynamically adapt
  • 35. SIREn’s Update Handler $ curl http://localhost:8983/solr/collection1/siren/add -H "Content-Type: application/json" --data-binary ' { "@id": "m/01npcx", "title": "Goldeneye", "actor": [ { "@id": "m/018p4y" "name": "Pierce Brosnan", "nationality": "Irish" }, { ... } ] }' Indexing JSON with SIREn’s Update Handler
  • 36. SIREn’s Update Handler $ curl –XPOST 'http://localhost:8983/solr/collection1/tree ?facet=true&facet.mincount=1 &facet.field=actor.nationality { "node": { "attribute": "title", "query": "Goldeneye" } }' Querying JSON with SIREn’s Update Handler
  • 37. Handling New Data Schema • Show example of new schema requirement and how this is quickly integrated in the pipeline with minimum effort • This might be be8er demonstrated with a live demo • New data requirement: • A8ach name of characters to an actor • Only one modification: SPARQL queries • The change will be dynamically propagated downstream
  • 38. Updating Sparql 1 en7ty to be updated Label: -­‐-­‐-­‐-­‐-­‐ Type: -­‐-­‐-­‐-­‐-­‐ Desc : -­‐-­‐-­‐-­‐-­‐ Prop 1: -­‐-­‐-­‐-­‐-­‐ Prop 2: -­‐-­‐-­‐-­‐-­‐ ..Prop N: -­‐-­‐-­‐-­‐-­‐ Movies, Label: -­‐-­‐-­‐-­‐-­‐ People, Companies,… Type: Movie Nested prop:value s Regular prop:value Customizable Materializa7on Templates Siren Query Language Same en7ty materialized 2 total en7ty documents updated
  • 39. Demo
  • 40. Possible next steps Sparql Label: -­‐-­‐-­‐-­‐-­‐ Type: -­‐-­‐-­‐-­‐-­‐ Desc : -­‐-­‐-­‐-­‐-­‐ Prop 1: -­‐-­‐-­‐-­‐-­‐ Prop 2: -­‐-­‐-­‐-­‐-­‐ ..Prop N: -­‐-­‐-­‐-­‐-­‐ Movies, Label: -­‐-­‐-­‐-­‐-­‐ People, Companies,… Type: Movie Nested prop:values Regular prop:value Customizable Materializa7on Templates Query Time Join Query Translator Low Level Siren Query Language Siren Query Language
  • 41. Wrapping up • A Knowledge Graph does not immediately match your typical search problem • Many useful pieces of data a8ached to “neighbouring nodes” • An efficient index or query time join strategy is required • Introduced a reference architecture based on • SPARQL templates, • JSON LD • .. Directly ingested by SIREn 1.4 for Solr • High quality free text search • Structured/Semistructured queries • Still “customization” to do, but better than ad hoc approaches. • See more at http://siren.solutions