Semantic Web, Web of Data, Linked Data, Knowledge Graphs
Hala Skaf-Molli
http://pagesperso.ls2n.fr/~skaf-h
University of Nantes, LS2N, France
(Distributed Data Management) GDD Team
1
State of Art
2
Ontology
3
Plan
4
Plan
5
What is an ontology ?
6
What is an ontology ?
7
Gene Ontology (GO)
9
GO facilitates interoperability of function description across species
11
Find Needle in Haystack
15
Plan
16
Why develop an ontology ?
17
Making explicit domain assumptions
18
Sharing common understanding of the structure of information among people or software agents
19
Enabling reuse of domain knowledge
20
Plan
21
Formalization
22
Ontology (or Knowledge Base or knowledge Graph) = Schema + Instance
Entreprise Knowledge Graphs
23
Natasha Noy, Yuqing Gao, Anshu Jain, Anant Narayanan, Alan Patterson, Jamie Taylor. Industry-Scale Knowledge Graphs: Lessons and Challenges Communications of the ACM, August 2019, Vol. 62 No. 8,
Open Knowledge Graphs
24
Lehmann, Jens, et al. "Dbpedia–a large-scale, multilingual knowledge base extracted from wikipedia." Semantic web 6.2 (2015): 167-195.
Malyshev, Stanislav, et al. "Getting the most out of wikidata: Semantic technology usage in wikipedia’s knowledge graph." International Semantic Web Conference. 2018.
DBpedia is a knowledge graph extracted from structured data in Wikipedia.
Wikidata is a collaboratively edited knowledge graph, operated by the Wikimedia foundation (hosting Wikipedia)
Nicolas Heist et al. Knowledge Graphs on the Web - An Overview, Knowledge Graphs for Explainable Artificial Intelligence: Foundations, Applications and Challenges. Vol. 47. 2020
| Instances/Entities | Assertions | Classes | Relations |
DBpedia | 5,044,223 | 854,294,312 | 760 | 1,355 |
CYC | 122,441 | 2,229,266 | 116,821 | 116,821 |
Wikidata | 52,252,549 | 732,420,508 | 2,356,259 | 6,236 |
NELL | 5,120,688 | 60,594,443 | 1,187 | 440 |
25
Chemical Entities of Biological Interest (chebi) Ontology
Drug
Anti-Neoplastic Drug
subClassOf
Cardiovascular Drug
subClassOf
Anti-arrhythmia Drug
subClassOf
26
Drug
Anti-Neoplastic Drug
subClassOf
Cardiovascular Drug
subClassOf
Anti-arrhythmia Drug
subClassOf
Pharmaceutical
subClassOf
27
Drug
Anti-Neoplastic Drug
subClassOf
Cardiovascular Drug
subClassOf
Anti-arrhythmia Drug
subClassOf
Pharmaceutical
subClassOf
Schema
28
Example of Ontology: schema
Drug
Anti-Neoplastic Drug
subClassOf
has-target
inhibit
subPropertyOf
29
Example of Ontology: schema
Drug
Anti-Neoplastic Drug
subClassOf
has-target
inhibit
subPropertyOf
30
Add facts
Drug
Anti-Neoplastic Drug
subClassOf
has-target
inhibit
subPropertyOf
Gleevec
type
31
Ontology : schema + facts
Drug
Anti-Neoplastic Drug
subClassOf
Anti-Neoplastic-Drug subClassOf Drug .
inhibit subPropertyOf has-target .
Gleevec type Anti-Neoplastic .
has-target
inhibit
subPropertyOf
Gleevec
type
32
For reuse needs unique name
Drug
Anti-Neoplastic Drug
Gleevec
type
subClassOf
Anti-Neoplastic-Drug subClassOf Drug .
inhibit subPropertyOf has-target .
Gleevec type Anti-Neoplastic .
has-target
inhibit
subPropertyOf
33
Use URI
Anti-Neoplastic-Drug subClassOf Drug .
Gleevec type Anti-Neoplastic .
inhibit subPropertyOf has-target
@PREFIX drugbank: <http://bio2rdf.org/drugbank> .
@PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax/ns#> .
@PREFIX obo: <http://purl.obolibrary.org/obo/> .
obo:CHEBI_20000 rdfs: subClassOf obo:CHEBI_23888 .
34
Add labels for humans
Anti-Neoplastic-Drug subClassOf Drug .
Gleevec type Anti-Neoplastic .
inhibit subPropertyOf has-target
@PREFIX drugbank: <http://bio2rdf.org/drugbank> .
@PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax/ns#> .
@PREFIX obo: <http://purl.obolibrary.org/obo/> .
obo:CHEBI_20000 rdfs: subClassOf obo:CHEBI_23888 .
obo:CHEBI_23888 rdfs:label “Drug”.
obo:CHEBI_20000 rdfs:label “Anti-Neoplastic drug” .
35
Ontology in RDFS : subClassOf, label, subPropertyOf
Anti-Neoplastic-Drug subClassOf Drug .
Gleevec type Anti-Neoplastic .
inhibit subPropertyOf has-target
@PREFIX drugbank: <http://bio2rdf.org/drugbank> .
@PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax/ns#> .
@PREFIX obo: <http://purl.obolibrary.org/obo/> .
obo:CHEBI_20000 rdfs: subClassOf obo:CHEBI_23888 .
obo:CHEBI_23888 rdfs:label “drug”.
obo:CHEBI_20000 rdfs:label “Anti-Neoplastic drug” .
drugbank:DB00619 rdf:type obo:CHEBI_20000 .
obo:inhibit rdfs:subPropertyOf obo:has-target .
36
Graph RDF Schema (RDFS) Classes
37
Relationships Between Core Classes and Properties
38
Example of Ontology: A taxonomy is a hierarchy of classes
40
Properties Graph
41
Domain & Range
42
SubProperties
43
Vocabularies of RDF Schema (RDFS)
Classes | Properties | Properties-constraints |
rdfs:Resource rdf:Property rdfs:Class | rdf:type rdfs:subClassOf rdfs:subPropertyOf | rdfs:domain rdfs:range |
State of Art
44
Reasoning with ontologies
45
RDFS Logical Semantics
46
Semantics based on Inference Rules
add to E certain additional triples
where E is an arbitrary set of RDF triples
47
Semantics based on Inference Rules
48
Automated reasoning allows to infer new knowledge
@PREFIX drugbank: <http://bio2rdf.org/drugbank> .
@PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax/ns#> .
@PREFIX obo: <http://purl.obolibrary.org/obo/> .
obo:CHEBI_20000 rdfs: subClassOf obo:CHEBI_23888 .
obo:CHEBI_23888 rdfs:label “drug”.
obo:CHEBI_20000 rdfs:label “Anti-Neoplastic drug” .
drugbank:DB00619 rdf:type obo:CHEBI_20000 .
drugbank:DB00619 rdfs:label “Gleevec” .
49
Automated reasoning allows to infer new knowledge
@PREFIX drugbank: <http://bio2rdf.org/drugbank> .
@PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax/ns#> .
@PREFIX obo: <http://purl.obolibrary.org/obo/> .
obo:CHEBI_20000 rdfs: subClassOf obo:CHEBI_23888 .
obo:CHEBI_23888 rdfs:label “drug”.
obo:CHEBI_20000 rdfs:label “Anti-Neoplastic drug” .
drugbank:DB00619 rdf:type obo:CHEBI_20000 .
drugbank:DB00619 rdfs:label “Gleevec” .
obo:CHEBI_20000
drugbank:DB00619
rdf:type
rdfs:subClassOf
“drug”
rdfs:label
“Anti-Neoplastic drug”
rdfs:label
“Gleevec”
rdf:label
50
@PREFIX drugbank: <http://bio2rdf.org/drugbank> .
@PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax/ns#> .
@PREFIX obo: <http://purl.obolibrary.org/obo/> .
obo:CHEBI_20000 rdfs: subClassOf obo:CHEBI_23888 .
obo:CHEBI_23888 rdfs:label “drug”.
obo:CHEBI_20000 rdfs:label “Anti-Neoplastic drug” .
drugbank:DB00619 rdf:type obo:CHEBI_20000 .
drugbank:DB00619 rdfs:label “Gleevec” .
obo:CHEBI_20000
drugbank:DB00619
rdf:type
rdfs:subClassOf
“drug”
rdfs:label
rdfs:label
“Gleevec”
rdf:label
rdf:type
“Anti-Neoplastic drug”
Every instance is an instance of all more general classes
51
@PREFIX drugbank: <http://bio2rdf.org/drugbank> .
@PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax/ns#> .
@PREFIX obo: <http://purl.obolibrary.org/obo/> .
obo:CHEBI_20000 rdfs: subClassOf obo:CHEBI_23888 .
obo:CHEBI_23888 rdfs:label “drug”.
obo:CHEBI_20000 rdfs:label “Anti-Neoplastic drug” .
drugbank:DB00619 rdf:type obo:CHEBI_20000 .
drugbank:DB00619 rdfs:label “Gleevec” .
drugbank:DB00619 rdf:type obo:CHEBI_23888 .
obo:CHEBI_20000
drugbank:DB00619
rdf:type
rdfs:subClassOf
“drug”
rdfs:label
“Anti-Neoplastic drug”
rdfs:label
“Gleevec”
rdf:label
rdf:type
Automated reasoning enriches the knowledge graph
52
obo:CHEBI_20000
drugbank:DB00619
rdf:type
rdfs:subClassOf
“drug”
rdfs:label
“Anti-Neoplastic drug”
rdfs:label
“Gleevec”
rdf:label
rdf:type
Automated reasoning enriches the knowledge graph
53
Drug
Cardiovascular Drug
subClassOf
Anti-arrhythmia Drug
subClassOf
Another example of automated reasoning
54
Drug
Cardiovascular Drug
subClassOf
Anti-arrhythmia Drug
subClassOf
subClassOf
Transitivity of subClassOf
55
@PREFIX drugbank: <http://bio2rdf.org/drugbank> .
@PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax/ns#> .
@PREFIX obo: <http://purl.obolibrary.org/obo/> .
drugbank:DB00619 rdf:type obo:CHEBI_20000 .
obo:CHEBI_20000
drugbank:DB00619
rdf:type
Automated reasoning using type
56
drugbank:DB00619 rdf:type obo:CHEBI_20000 .
obo:CHEBI_20000 rdf: type rdfs:Class
obo:CHEBI_20000
drugbank:DB00619
rdf:type
Automated reasoning using type
rdfs:Class
rdf:type
57
Domain & Range Semantics
61
Standard Vocabulary
dc: Dublin Core (predicates for describing documents)
http://purl.org/dc/elements/1.1/
foaf: Friend Of A Friend (relationships between people)
cc: Creative Commons (types of licences)
http://creativecommons.org/ns#
62
Main classes and properties of FOAF
63
Dublin Core
64
Creative Commons
State of Art
65
Is RDFS enough for formal description of knowledge in a domain?
66
No, I cannot express the following axioms
Need more expressive language
67
Ontology Web Language (OWL)
:Protein owl:equivalentClass [
rdf:type owl:Restriction ;
owl:onProperty :hasPart;
owl:someValuesFrom :Amino Acid
] .
More axioms imply more interesting reasoning
68
Reasoning over OWL ontologies
69
Contradiction implies inconsistency
70
Ontology construction tool
71
Plan
State of Art
72
73
Ontology enables the construction of new applications
74
Conclusion
75
Current researches to maintain LSLOD
Thomas Minier, Hala Skaf-Molli and Pascal Molli. "SaGe: Web Preemption for Public SPARQL Query services" in Proceedings of the 2019 World Wide Web Conference (WWW'19), San Francisco, USA, May 13-17, 2019.
Semantic Web and Linked Data for Life Science