ESWC 2017 Tutorial Knowledge Graphs

Post on 29-Jan-2018

846 views 2 download

transcript

Getting Started with Knowledge Graphs

European Semantic Web ConferenceMay 29, 2017Peter Haase

2

Peter Haase

• Interest and experience in ontologies, semantic technologies and Linked Data

• PhD in KR and semantic technologies

• 15 years in academic research and software development

• Contributor to OWL 2 standard

metaphacts Company Facts

• Founded in Q4 2014

• Headquartered in Walldorf, Germany

• Currently ~10 people

• Platform for knowledge graph interaction & application development

About the Speaker

3

Introduction: What are Knowledge Graphs?

Examples and Applications• Wikidata• Cultural Heritage• Industrial Applications

Standards and Principles

Knowledge Graph Management

Hands-on Exercises:• metaphactory Knowledge Graph Platform

Agenda

Preparation Hands-on Exercises

5

• Download metaphactory (or copy from USB stick)http://www.knowledgegraph.info/

• Follow README, start metaphactorystart.sh / start.bat

• Open start page http://localhost:10214

• Follow “Getting started tutorial”http://localhost:10214/resource/Help:Tutorial

Hands-on Exercises

Introduction

What are Knowledge Graphs?

7

The Rise of Knowledge Graphs

8

• We need a structured and formal representation of knowledge

• We are surrounded by entities, which are connected by relations

• Graphs are a natural way to represent entities and their relationships

• Graphs can be managed efficiently

Why (Knowledge) Graphs?

9

A (very small) Knowledge Graph

http://www.w3.org/TR/2014/NOTE-rdf11-primer-20140225/example-graph.jpg

10

• Semantic descriptions of entities and their relationships

• Uses a knowledge representation formalism (Focus here: RDF, RDF-Schema, OWL)

• Entities: real world objects (things, places, people) and abstract concepts (genres, religions, professions)

• Relationships: graph-based data model where relationships are first-class

• Semantic descriptions: types and properties with a well-defined meaning (e.g. through an ontology)

• Possibly axiomatic knowledge (e.g. rules) to support automated reasoning

What are Knowledge Graphs?

11

Knowledge Graphs Enabling Intelligent Applications

Knowledge Graph

Algorithms

Applications

Data Transformation, IntegrationNatural Language Processing

Data Sources

• Inferencing

• Machine Learning

• Entity Recognition

• Disambiguation

• Text Understanding

• Recommendations

• Semantic Search

• Question Answering

• Knowledge Sharing

• Knowledge Management

• Analytics

• Entities• Relationships• Semantic Descriptions

• Dashboards

Examples and Applications

13

Google Knowledge Graph

14

Entity Search and Summarizations

Google Knowledge Graph

15

Discovering Related Entities

Google Knowledge Graph

16

Google Knowledge Graph

Factual Answers

17

Knowledge Graph Search API

https://developers.google.com/knowledge-graph/

18

LinkedIn Economic Graph

18

Examples and Applications

Wikidata

20

Open Knowledge Graphs

21

Wikipedia page A query against Wikipedia

Query the Knowledge of Wikipedia like a Database

21

22

• Collecting structured data. Unlike the Wikipedias, which produce encyclopedic articles, Wikidata collects data, in a structured form.

• Collaborative. The data in Wikidata is entered and maintained by Wikidata editors, who decide on the rules of content creation and management in Wikidata supporting the notion of verifiability.

• Free. The data in Wikidata is published under the Creative Commons

• Large.

• 26 million entities

• 150 million statements

• 130 million labels

• 350 languages

• >1500 million triples

Wikidata

25

Wikidata Query Service

https://query.wikidata.org

26

• Build your applications using Wikidata

• Free corpus of structured knowledge

• Easily accessible and standards-based

• See http://query.wikidata.org/

• Contextualize your enterprise data

• Wikidata provides stable identifiers into the open data world

• Seamless integration of private data with open data

• Enrich Wikidata with your data

• Contribute your data to Wikidata

• Link to your own data, make it visible

• Examples:

• Open biomedical databases – Wikidata as a central hub

• Cultural heritage

Use Cases for the Wikidata Knowledge Graph

28

Histropedia

Examples and Applications

Cultural Heritage

30

• Challenge:

• Very context-rich data

• Multi-disciplinary data, e.g. archaeologists, historians, librarians

• Multi-institutional data

• Complex domain, relationships, e.g. temporal, spatial, historical, political

• Benefits of Knowledge Graphs

• Integration and interchange of heterogeneous cultural heritage information

• Rich ontologies for knowledge representation

• Deep semantics for true conceptual merging

• Multi-lingual knowledge representation

• Knowledge access across museums and organizations

• Enabling knowledge sharing and collaboration

Benefits of Knowledge Graphs for Cultural Heritage

31

• Collaboration environment for researchers in Cultural Heritage

• Expert users: researchers, curators

• Based on CIDOC-CRM: very rich, expressive ontology

• Large, cross-museum data sets

• E.g. British Museum: 100s millions of triples

• Advanced search capabilities

• Supporting query construction

• Sharing of searches, results, visualizations

• Knowledge sharing

• Discussions around cultural heritage annotations

• Argumentation support: Representation of conflicting views and opionions

ResearchSpace: Knowledge Graphs for Cultural Heritage

http://researchspace.org/

32

Demo ResearchSpace Platform

Standards and Principles

34

• Instance data (ground truth)

• Schema data (vocabularies, ontologies)

• Metadata (e.g. provenance, versioning, documentation licensing)

• Comprehensive taxonomies to categorize entities

• Links between internal and external data

• Mappings to data stored in other systems and databases

Multi-domain, source, granularity

Holistic Knowledge

35

Semantics on the Web

Semantic Web StackBerners-Lee (2006)

Syntactic basis

Basic data model

Simple vocabulary(schema) language

Expressive vocabulary(ontology) language

Query language

Application specificdeclarative-knowledge

Digital signatures,recommendations

Proof generation,exchange, validation

36

Knowledge Graphs Built on the Semantic Web Layer Cake

Unicode URIs

RDF(ResourceDescriptionFramework)

RDF-Schema

OWLSKOS

SPARQL

Query language

Entities

Relationships

Vocabularies

Ontologies

Expressive OntologyLanguage

Thesauri, classificationschemes

Graph datamodel

Simple vocabularylanguage

37

Our Knowledge Graph again (a bit more technical)

38

Graph consists of:

• Resources (identified via URIs)

• Literals: data values with data type (URI) or language (multilingualityintegrated)

• Attributes of resources are also URI-identified (from vocabularies)

Our Knowledge Graph again (a bit more technical)

• Various data sources and vocabularies can be arbitrarily mixed and meshed

• URIs can be shortened with namespace prefixes; e.g. schema: →http://schema.org/

39

Allows one to talk about anything

Uniform Resource Identifier (URI) can be used to identify entities

http://dbpedia.org/resource/Leonardo_da_Vinci

is a name for Leonardo da Vinci

http://www.wikidata.org/entity/Q12418

is a name for the Mona Lisa painting

Resource Description Framework (RDF)

40

Allows one to express statements

An RDF statement consists of:

• Subject: resource identified by a URI

• Predicate: resource identified by a URI

• Object: resource or literal

Resource Description Framework (RDF)

41

N-Triples Syntax

<http://www.wikidata.org/entity/Q12418>

<http://purl.org/dc/terms/creator>

<http://dbpedia.org/resource/Leonardo_da_Vinci> .

<http://www.wikidata.org/entity/Q12418>

<http://purl.org/dc/terms/title>

"Mona Lisa" .

Resource Description Framework (RDF)

URIsaregiveninanglebracketsinN-Triples.

LiteralsaregiveninquotesinN-Triples.

InN-Tripleseverystatementisterminatedwithafullstop.

42

• Every set of RDF assertions can then be drawn and manipulated as a (labelled directed) graph:

• Resources – the subjects and objects are nodes of the graph.

• Predicates – each predicate use becomes a label for an arc, connecting the subject to the object.

RDF Graphs

Subject ObjectPredicate

43

Resource Description Framework (RDF)

<http://dbpedia.org/resource/Leonardo_da_Vinci>

<http://www.wikidata.org/entity/Q12418>

<http://purl.org/dc/terms/creator>

"Mona Lisa"

<http://purl.org/dc/terms/title>

44

• Turtle is a syntax for RDF more readable.

• Since many URIs share same basis we use prefixes:

RDF Turtle

@prefix foaf: <http://xmlns.com/foaf/0.1/>.@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix schema: <http://schema.org/>.@prefix dcterms: <http://purl.org/dc/terms/>.@prefix wd: <http://www.wikidata.org/entity/>.

45

• Also has a simple shorthand for class membership:

@prefix foaf: <http://xmlns.com/foaf/0.1/>.<http://example.org/bob#me> a foaf:Person .

Is equivalent to:

<http://example.org/bob#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>.

RDF Turtle

46

• When multiple statements apply to same subject they can be abbreviated as follows:

wd:Q12418 dcterms:title "Mona Lisa" ;

dcterms:creator <http://dbpedia.org/resource/Leonardo_da_Vinci> .

RDF Turtle

Samesubject

47

1. Follow http://localhost:10214/resource/Help:Tutorial

2. Load sample.ttl via http://localhost:10214/resource/Admin:DataImportExport

3. Browse and explore sample data

Hands-on: Loading Data

48

• Collections of defined relationships and classes of resources.

• Classes group together similar resources.

• Terms from well-known vocabularies should be reusedwherever possible.

• New terms should be defined only if you can not find required terms in existing vocabularies.

Describing Data: Vocabularies

49

A set of well-known vocabularies has evolved in the Semantic Web community. Some of them are:

Describing Data: Vocabularies

Vocabulary Description ClassesandRelationships

Friend-of-a-Friend (FOAF) Vocabularyfordescribingpeople.

foaf:Person,foaf:Agent,foaf:name,foaf:knows,foaf:member

DublinCore(DC) Definesgeneralmetadataattributes.

dc:FileFormat,dc:MediaType,dc:creator, dc:description

Organization Ontology(org) Publishingoforganizationinformation.

org:Organisation,org:Site,org:Role,org:member,org:hasSite

schema.org Cross-domainvocabularyforannotationofWebpages.

schema:Event,schema:Product,schema:location,schema:image

50

• Language for two tasks w.r.t. the RDF data model:

• Definition of vocabulary – nominate:

• the ‘types’, i.e., classes, of things we might make assertions about, and

• the properties we might apply, as predicates in these assertions, to capture their relationships.

• Inference – given a set of assertions, using these classes and properties, specify what should be inferred about assertions that are implicitly made.

RDF-S – RDF Schema

51

• rdfs:Class – Example:

foaf:Person – Represents the class of persons

• rdf:Property – Class of RDF properties. Example:

foaf:knows – Represents that a person “knows” another

• rdfs:domain – States that any resource that has a given property is an instance of one or more classes

foaf:knows rdfs:domain foaf:Person

• rdfs:range – States that the values of a property are instances of one or more classes

foaf:knows rdfs:range foaf:Person

RDF-S – RDF Schema

52

RDF-S – RDF Schema

foaf:knowsrdfs:rangefoaf:Person .

<http://example.org/bob#me>foaf:knows<http://example.org/alice#me>.

<http://example.org/alice#me> rdf:typefoaf:Person.

Schema

Existing fact

Inferred fact

Weexpect tousethisvocabularytomakeassertionsabout persons.

Havingmadesuchanassertion...

Inferences canbedrawnthatwedidnotexplicitlymake

53

1. Load foaf.rdf via http://localhost:10214/resource/Admin:DataImportExport

2. Browse and explore FOAF vocabulary

Hands-on: Load FOAF Vocabulary

54

• RDFS provides a simplified ontological language for defining vocabularies about specific domains.

• OWL provides more ontological constructs for knowledge representation.

• Semantics grounded in Description Logics.

• Most graph databases concentrate on the use of RDFS with a subset of OWL features.

OWL – Web Ontology Language

55

Extends the DL further, but has three more computable fragments (profiles).

OWL 2.0 – Web Ontology Language 2.0

55

OWL2Full• UsedinformallytorefertoRDFgraphsconsideredasOWL2

ontologiesandinterpretedusingtheRDF-BasedSemantics.OWL2DL• UsedinformallytorefertoOWL2DLontologiesinterpreted

usingtheDirectSemantics.OWL2EL• Limitedtobasicclassification,butwithpolynomial-time

reasoning.OWL2QL• Designedtobetranslatabletorelationaldatabasequerying.OWL2RL• Designedtobeefficientlyimplementableinrule-basedsystems.

OWL2Full

OWL2DL

OWL2EL

OWL2QL OWL2RL

56

OWL is made up of terms which provide for:

• Class construction: forming new classes from membership of existing ones (e.g., unionOf, intersectionOf, etc.).

• Property construction: distinction between OWL ObjectProperties (resources as values) and OWL DatatypeProperties (literals as values).

• Class axioms: sub-class, equivalence and disjointnessrelationships.

• Property axioms: sub-property relationship, equivalence and disjointness, and relationships between properties.

• Individual axioms: statements about individuals (sameIndividual, differentIndividuals).

OWL – Web Ontology Language

57

Example: CIDOC-CRM Ontology

Class: PersonSubClassOf: ActorSubClassOf: Biological ObjectSubClassOf: was_born exactly 1SubClassOf: has_parent min 2

Class: Physical ThingSubClassOf: Legal ObjectSubClassOf: Spacetime VolumeDisjointWith: Conceptual ObjectSubClassOf: consists_of some Material

58

1. Load ecrm_current.owl via http://localhost:10214/resource/Admin:DataImportExport

2. Browse and explore CIDOC-CRM ontology

Hands-on: Load CIDOC-CRM Ontology

59

• Data model for knowledge organization systems (thesauri, classification scheme, taxonomies)

• Conceptual resources (concepts) can be

• identified with URIs,

• labeled with lexical strings in natural language,

• documented with various types of note,

• semantically related to each other in informal hierarchies and association networks and

• aggregated into concept schemes.

SKOS - Simple Knowledge Organization System

http://www.w3.org/TR/skos-reference/

60

Example: Concept Definition for Paper

61

• Query language for RDF-based knowledge graphs.

• Designed to use a syntax similar to SQL for retrieving data from relational databases.

• Different query forms:

• SELECT returns variables and their bindings directly.

• CONSTRUCT returns a single RDF graph specified by a graph template.

• ASK test whether or not a query pattern has a solution. Returns yes/no.

• DESCRIBE returns a single RDF graph containing RDF data about resources.

SPARQL – * Protocol and RDF Query Language

62

Main idea: Pattern matching

• Queries describe sub-graphs of the queried graph

• Graph patterns are RDF graphs specified in Turtle syntax, which

contain variables (prefixed by either “?” or “$”)

• Sub-graphs that match the graph patterns yield a result

SPARQL – * Protocol and RDF Query Language

dbpedia:Leonardo_da_Vinci?var

dcterms:creator

63

SPARQL – * Protocol and RDF Query Language

?interest<http://example.org/bob#me>

foaf:topic_interest

Results:?interest

wd:Q12418

Graphpattern:

Datagraph:

64

SPARQL – * Protocol and RDF Query Language

?interest<http://example.org/bob#me>

foaf:topic_interest

Results:

?creatordcterms:creator

?interest ?creator

wd:Q12418 dbpedia:Leonardo_da_Vinci

Graphpattern:

Datagraph:

65

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT ?creator

WHERE {

<http://example.org/bob#me> foaf:topic_interest ?interest .

?interest dcterms:creator ?creator

}

SPARQL Query: Components

Prologue:• Prefixdefinitions• SubtlydifferentfromTurtlesyntax - thefinalperiodisnotused

66

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT ?creator

WHERE {

<http://example.org/bob#me> foaf:topic_interest ?interest .

?interest dcterms:creator ?creator

}

SPARQL Query: Components

Queryform:• ASK,SELECT,DESCRIBE orCONSTRUCT• SELECT retrievesvariablesandtheirbindingsasatable

67

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT ?creator

WHERE {

<http://example.org/bob#me> foaf:topic_interest ?interest .

?interest dcterms:creator ?creator

}

SPARQL Query: Components

Querypattern:• Definespatternstomatchagainstthedata• GeneralisesTurtlewithvariablesandkeywords– N.B.finalperiodoptional

68

• Use the local SPARQL endpoint:http://localhost:10214/sparql

• Execute the queries from the tutorial

1. Select all statements about Bob

2. Select the creator of the things that Bob is interested in.

Hands-on: Execute SPARQL Query

69

• Namespaces are added with the ‘PREFIX’ directive

• Statement patterns that make up the graph are specified between brackets (“{}”)

Query Form: ASK

PREFIX foaf: http://xmlns.com/foaf/0.1/ASK WHERE { <http://example.org/bob#me> foaf:knows<http://example.org/alice#me> }

DoesBobknowAlice?Query:true

Results:

IsAliceinterestedintheMonaLisa?Query:false

Results:PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX wd: <http://www.wikidata.org/entity/>ASK WHERE { <http://example.org/alice#me> foaf:topic_interestwd:Q12418}

70

• A property path is a possible route through a graphbetween two graph nodes

• Property paths allow for more concise expression of someSPARQL basic graph patterns and also add the ability tomatch arbitrary length paths

Query Form: SELECT – Property Paths

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT ?creator WHERE {

<http://example.org/bob#me> foaf:topic_interest / dcterms:creator ?creator

}

Query:Creator of things that Bobis interested in?

71

Filter expressions

• Different types of filters and functions may be used

Query Form: SELECT - FILTER Expressions

PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT ?person ?another WHERE { ?person foaf:knows ?another FILTER NOT EXISTS { ?another foaf:knows ?person }

}

Query:Peoplewho know someone who does notknow them?Filter:Comparisonandlogicaloperators

72

• Calculate aggregate values: COUNT, SUM, MIN, MAX, AVG, GROUP_CONCAT and SAMPLE

• Built around the GROUP BY operator

• Prune at group level (cf. FILTER) using HAVING

Query Form: SELECT - Aggregates

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT ?person (COUNT(?another) as ?num_friends) WHERE {

?person a foaf:PersonOPTIONAL { ?person foaf:knows ?another }

}GROUP BY ?person

Howmanyfriendsdopeoplehave?Query:

73

• CONSTRUCT WHERE: In order to query for a subgraph, without change, it is no longer necessary to repeat the graph pattern in the template

Query Form: CONSTRUCT

CONSTRUCTWHERE { <http://example.org/bob#me> ?p ?o

}

Example:

74

• Graph– and vocabulary transformations

Query Form: CONSTRUCT

PREFIX wdt: <http://www.wikidata.org/prop/direct/>PREFIX dcterms: <http://purl.org/dc/terms/>

CONSTRUCT { ?creator wdt:P800 ?work } # wdt:P800 = notable work

WHERE { ?work dcterms:creator ?creator}

Example:

75

• Allows federating across multiple SPARQL endpoints

• The SERVICE keyword instructs to invoke a portion of a SPARQL query against a remote SPARQL endpoint

SPARQL Federated Query

PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT * WHERE { <http://example.org/bob#me> foaf:topic_interest ?interest . SERVICE <https://query.wikidata.org/sparql> {

?interest ?predicate ?object }}

FindinformationaboutthingsthatBoblikesatWikidataQuery:

76

SPARQL 1.1 provides data update operations:

• INSERT data: adds some triples, given inline in the request, into a graph

• DELETE data: removes some triples, given inline in the request, if the respective graphs contains those

• DELETE/INSERT data: uses in parallel INSERT and DELETE

SPARQL 1.1 Update

77

SPARQL Update: Example

BASE<http://example.org/>PREFIXfoaf:<http://xmlns.com/foaf/0.1/>PREFIXwd:<http://www.wikidata.org/entity/>PREFIXrdfs:<http://www.w3.org/2000/01/rdf-schema#>

WITH<http://www.metaphacts.com/tutorial/>INSERT{

<peter#me> afoaf:Person ;rdfs:label "Peter";foaf:knows <alice#me>,<bob#me>;foaf:topic_interest wd:Q12418

}WHERE{}

Knowledge Graph Management

79

Aspects of Knowledge Graph Management

KNOWLEDGE GRAPHSTORAGE

• Scalable data loading and storage

• Querying and analytics

• Built-in inferencing and custom services

• Management of hybrid data sources

KNOWLEDGE GRAPH CREATION

• Model- and ontology development

• Semi-automatic creation from structures sources (data lifting)

• Interlinking of data from heterogeneous sources

• Collaborative authoring

• Data annotation

• Versioning and provenance

• Quality Assurance

KNOWLEDGE GRAPH CONSUMPTION

• Development of end-user oriented applications

• Interactive visualization

• Exploration

• Semantic search

• Natural languageinterfaces

80

metaphacts Supports the Whole Data Lifecyle

Data Extraction & Integration

Data Linking & Enrichment

Storage & Repositories

Querying & Inferencing

Search

Visualization

Authoring

end-to-endplatform

81

metaphactory as an Open Platform

BUILT IN OPEN SOURCE

ü Dual licensing (LGPL & commercial license)ü Open Platform API and SDKü Integration of external tools and application via APIsü Easy development of own web components and servicesü Full HTML5 complianceü Re-usable, declaratively configurable Web Components

= Easy modification, customization, and extensibility

BUILT ON OPEN STANDARDS

ü W3C Web Componentsü W3C Open Annotation Data Modelü W3C Linked Data Platform Containersü Data processing based on W3C standards such as RDF, SPARQLü Expressive ontologies for schema modeling based on OWL 2, SKOSü Rules, constraints, and query specification based on SPIN and RDF Data

Shapes

= Sustainable Solution

82

metaphactory Platform Architecture

Data

Services

Applications

Graph Database Graph Analytics Provenance

Catalog Services Exploration VisualizationConfiguration Search Access Control

Knowledge Graph Management App Factory

End UsersExpert/domain Users

Smart Apps

Developers

InferencingSPARQL Endpoint

83

Users and their Benefits

EXPERT USERS

• Collaboratively construct and manage knowledge graphs

• Integrate data from heterogeneous sources

• Use standard connectors for a variety of data formats

• Benefit from scalable data processing for big graphs

• Conduct high-performance querying and analytics

DEVELOPERS

• Rapidly develop Web and mobile end-user oriented applications

• Benefit from various deployment modes: stand-alone, HA, scale-up, scale-out

• Interact with an easy-to-use interface

• Collaboratively manage, annotate and author data

• Use large set of custom query and templates catalogs

• Capture of provenance information

END USERS

• Benefit from user-friendly interaction with data

• Gain insights into complex relationships

• Enable transparency and extract value

• Ask questions and obtain precise results

• Reduce effort for data analysis

• Reduce noise – obtain targeted, high quality results

• Enhance quality of business decisions

84

Search

• Domain independent, fully customizable search widget

• Satisfy complex information needs without learning SPARQL

• Search functionalities

• Graphical query construction

• End user friendly search interfaces for building and sharing complex queries

• Semantic auto suggestion

• Interactive result visualization

• Faceted search and exploration of item collections

• Ability to invoke external full text search indices such as Solr including the possibility to score, rank and limit the results for responsive autosuggestion

• Saving and sharing of queries and search results

Search

85

Table

Transform your queries into durable, interactive tables

Many customization possibilities, e.g. pagination,

filters and cell templates

Graph

Visualize and explore connections in a graph view

Custom styling of the graph

Variety of graph layouts

Carousel

Animated browsing through a list of result items

Chart

Visualize trends and relationships between

numbers, ratios, or proportions

Visuali-zation

Tree Table

Tree-based visualization,

navigation and browsing through sub-

tree structures

Map

Displaying spatial data on a

geographic map

Visualization

86

Autho-ring

• Annotations

• Based on W3C Open Annotation Data Model

• Automated semantic link extraction

• Form based authoring

• Manually author and update instance data, backed by query templates, data dependencies, and type constraints

• Rich editing components for special data types

• Customizable flexible forms

• Autosuggestion and validation against the knowledge graph

• Capturing of provenance information

• User group management

Authoring

87

Install & Go: Out-of-the-Box Functionality

Getting Started Tutorialto guide you through your

first steps with metaphactory

Get started

Management of Queries in Catalog

for easy reuse and updating

Keyword Search Interfacewith semantic autosuggestion,

driven by SPARQL

Search

Data Overview Pageswith Web components for

end-user friendly data presentation and interaction

Template-based Data Browserused to define generic views

which are automatically applied to entire sets of instances

Explore

88

Example: Simple Semantic Search

Keyword search with semantic autosuggestion, driven by SPARQL

Set up in ~2 minutes!

Declarative Components

Developer embeds ‘semantic-simple-search’

into the page

<semantic-simple-search data-config='{"query":"SELECT ?result ?label ?desc

?img WHERE { ?result rdfs:label ?label .?result rdfs:comment ?desc .?result foaf:thumbnail ?img .FILTER(CONTAINS(?label,

?token))}","searchTermVariable":"token", // user input"template":"<span title="{{result}}"><img src="{{img}}"

height="30"/>{{label}} ({{desc}})</span>"

}'/>

1

Rendered component is displayed to the user and can be used right away

2

Autosuggestions are dynamically computed

based on query and user input

3

89

• Associate a class in the knowledge graph with a template

• The template is applied to instances of the class

HTML5 Template Pages

Bob

foaf:Person

rdf:type

Hands-on Exercises

91

Hands-on Exercises

DATA LOADING &QUERYING

• Loading your data

• Querying your data

VISUALIZATION

• Visualizing results in a table

• Visualizing results in a graph

SEARCH

• Embedding a simple search interface

AUTHORING

• Creating a template

• Inserting and updating data

92

Data Loading & Querying

Load data into the store via the data import and export

administration page

1 2

Query the data via the SPARQL endpoint.

E.g.: issue a query for all statements made about Bob

as a subject

3

Visualize results in a table

… or as raw data

93

Visualizing Results in a Table

3

Visualize results in a table displaying thumbnails as images, the labels of the

resources as captions, and links to the individual

resource pages

1

Embed ‘semantic-table’ component

<semantic-table config='{"query":"SELECT * WHERE {

<http://example.org/bob#me> ?predicate ?object }“

}'></semantic-table>

to visualize previous query as a table in a page

2

Customize the query to embed thumbnail images in the result visualization

SELECT ?uri ?label ?thumbnail WHERE { ?uri rdfs:label ?label; <http://schema.org/thumbnail > ?thumbnail }

Use tupleTemplate to define a template for

displaying the new table

94

Visualizing Results in a Graph

1

Embed ‘semantic-graph’ component

<semantic-graph

query="CONSTRUCT WHERE { ?s ?p ?o }">

</semantic-graph>

2

Visualize results in a graph

95

Embedding a Simple Search Interface

Embed ‘semantic-simple-search’ into the page

<semantic-simple-search config='{

"query":"SELECT ?uri ?label

WHERE {FILTER REGEX(?label,

\"?token\", \"i\")?uri rdfs:label

?label} LIMIT 10

",

"searchTermVariable":"token","resourceSelection":{

"resourceBindingName":"uri","template":"<span

style=\"color: blue;\" title=\"{{uri.value}}\">{{label.value}}</span>"

},

"inputPlaceholder":"Search for something e.g. \"Bob\""

}'></semantic-simple-search>

1

Rendered component is displayed and can be used

right away

2

Autosuggestions are dynamically computed

based on query and user input

3

96

Creating a Template

1

Use the templating mechanism to create a template for the resource

type ‘Person’, to display:

• the person's name• an image, if available• his interests• his friendship relationship

2

Visualize the result on Bob’s instance page

97

Inserting and Updating Data

1

Use a SPARQL UPDATE operation against the SPARQL endpoint to

create and add new instance data

• the person's name• an image, if available• his interests• his friendship relationship

2

Visualize the result

98

• Knowledge graphs as a flexible model for data integration and knowledge representation

• Standards for “semantic” knowledge graphs

• RDF as graph-based data model

• OWL as expressive ontology language

• SKOS for taxonomic knowledge

• SPARQL as query language

• Application areas

• Open knowledge graphs, e.g. Wikidata

• Cultural Heritage

• Life Sciences

• And many more

• Get started with the metaphactory Knowledge Graph platform today!

Summary

99

• Some slides build on the Euclid training material

• Thanks to the team at metaphacts

• Thanks to the ESWC organizers

Acknowledgements and Thanks

http://www.euclid-project.eu

100

metaphacts GmbHDaimlerstraße 36

69190 Walldorf

Germany

p +49 6227 6989965

m +49 157 50152441

e info@metaphacts.com

@metaphacts

www.metaphacts.com

Get in Touch!