Chapter 30
Semantic Web
Presentation & objectives
In this part of the course, we will discover and apply the standards of the Semantic Web and the Web of Data (languages and principles). In particular, we will cover the following concepts:
- The Semantic Web and linked data through the example of the Google search engine and Wikidata.
- Representation of linked data (RDF model)
- Querying linked data using the SPARQL language
- Expression of an ontology using the OWL language and Protégé software
- Reasoning and deduction of knowledge using the SWRL language
By the end of these activities, you will be able to:
- Master the standards of semantic web and linked data.
- Structure data according to the principles of the Semantic Web (knowledge representation).
- Query and exploit linked data (inference and reasoning on knowledge graphs).
Very useful documentations can be found here:
- Du Web des documents au Web sémantique. Nicolas Delestre, Nicolas Malandain. Éditions Klog. 2017
- Web sémantique et Web de données. FUN MOOC. INRIA
- An Introduction to OWL. Sean Bechhofer. School of Computer Science. University of Manchester
- Semantic Web. Wikipedia
- A Practical Guide To Building OWL Ontologies Using Protégé. Matthew Horridge. University of Manchester
Activities
Warning
Before attending the sessions, you need to be familirized with these notions :
Knowledge Check
Answer these questions once you have finished this course module.
---
primary_color: steelblue
secondary_color: lightgray
text_color: black
shuffle_questions: false
shuffle_answers: true
---
# The Semantic Web differs from the general Web in that:
1. [ ] The Semantic Web is a new version of the internet that uses faster communication protocols.
2. [X] The Semantic Web extends the Web by giving data a clear meaning, which enables machines to understand and process information more intelligently.
3. [ ] The Semantic Web has been designed to enable artificial intelligence systems to communicate with each other using natural language processing.
4. [ ] There is no difference between the Semantic Web and the Web in general.
# In RDF/XML, the name of the RDF attribute used to indicate the subject of an RDF triple is:
1. [ ] `rdf:subject`
2. [X] `rdf:about`
3. [ ] `rdf:ID`
4. [ ] `rdf:resource`
# In RDF/XML, the name of the attribute used to indicate the value of an RDF triple, when it is a resource is :
1. [ ] `rdf:value`
2. [ ] `rdf:about`
3. [X] `rdf:ressource`
4. [ ] `rdf:object`
# The RDF property that allows a type to be associated with a resource is :
1. [ ] `rdf:class`
2. [X] `rdf:type`
3. [ ] `rdf:instanceof`
4. [ ] `rdf:category`
# The name of the RDF attribute that allows a literal value to be typed is :
1. [ ] `rdf:type`
2. [ ] `rdf:literaltype`
3. [X] `rdf:datatype`
4. [ ] `rdf:valuetype`
# Which statement is correct according to OWL’s set-theoretic principles?
1. [ ] `owl:unionOf` defines a class whose individuals must belong to all the listed classes.
2. [ ] `owl:intersectionOf` defines a class whose individuals belong to at least one of the listed classes.
3. [X] `owl:complementOf` defines a class containing individuals that do not belong to a given class.
4. [ ] `owl:oneOf` defines a class that has no individuals.
# Which property characteristic implies that if two individuals are related to the same individual by a property, then they are the same individual?
1. [ ] `owl:FunctionalProperty`
2. [X] `owl:InverseFunctionalProperty`
3. [ ] `owl:SymmetricProperty`
4. [ ] `owl:TransitiveProperty`
# What is the meaning of the property path operator + in a SPARQL query?
1. [ ] The property may appear zero or one time in the path
2. [ ] The property must appear exactly once in the path
3. [X] The property must appear at least once and may be repeated
4. [ ] The property may appear zero or more times, including zero
# Which of the following is a valid SWRL rule according to the specification?
1. [ ] `hasParent(?x, ?y) → hasSibling(?y, ?z) ∧ hasUncle(?x, ?z)`
2. [X] `Person(?x) ∧ swrlb:greaterThan(?age, 18) → Adult(?x)`
3. [ ] `Person(?x) → Man(?x) ∧ Adult(?x)`
4. [ ] `hasParent(?x, ?y) ∧ → hasUncle(?x, ?y)`