COMP318
SECOND SEMESTER EXAMINATIONS 2018/19
Advanced Web Technologies
SECTION A
Attempt FIVE questions from this section. Section A is worth 50 marks.
1. Define the notion of ontology (5 marks) and describe how ontologies are used to support system interoperabilty (5 marks) . (10 marks total)
2. Consider the statement Ralph S. claims that Ora L. created the resource with URI
“http://www.w3.org/Home/Lassila”. Represent this sentence in RDF (using the Turtle syn- tax) (4 marks) . Describe the mechanism within the RDF vocabulary that enables users to make assertions about statements (6 marks) . (10 marks total)
3. Consider the following small ontology written in OWL Manchester Syntax:
DisjointClasses: Animal, Plant
ObjectProperty: eats
Domain: Animal
Herbivore EquivalentTo: eats only Plant
Carnivore EquivalentTo: eats only Animal
CarnivorousPlant EquivalentTo: Plant and Carnivore
In this ontology the class Plant seems to be a subclass of both the class Herbivore and the class Carnivore. Explain why this incorrect classification is obtained (4 marks) . Suggest how you would improve the ontology in order to repair this problem (6 marks) . (10 marks total)
4. Discuss Tim Berners-Lees’ principles for deploying linked data. (10 marks)
5. String matching techniques are often used in ontology alignment. Describe the pre-processing steps necessary before string matching techniques can be used. (10 marks)
SECTION B
Attempt TWO questions from this section. Each question is worth 25 marks. Credit will be given for the best 2 answers only.
1. Two ontology alignment systems, A1 and A2 are being compared. Both are compared to a gold standard alignment handcrafted by an expert R composed by 28 correspondences. A1 returns 25 correspondences, of which 16 are present in R. A2 returns 15 correspondences, of which 12 are contained in R.
(a) Provide the formulation of precision and recall in the context of ontology alignment. Provide an explanation for the given formulae (5 marks)
(b) Calculate precision, recall for both A1 and A2 , showing the details of your calcula- tions. (10 marks)
(c) Calculate the F-measure for each of the system. Why is the F-measure a more accurate measure of performance and why is it not sufficient to pick either precision or recall and use only that? (10 marks)
2. Consider the following RDF graph G, expressed in Turtle, where the triples have been numbered to improve readability, and rdf and rdfs are the usual namespaces.
1 :Person
|
a
|
rdfs:Class .
|
2 :Author
|
a
|
rdfs:Class .
|
3 :Woman
|
rdfs:subClassOf
|
rs:Person .
|
4 s:Book
|
rdfs:subClassOf
|
s:PrintedMedia .
|
5 s:writtenBy
|
rdfs:subPropertyOf
|
s:createdBy .
|
6 s:writtenBy
|
rdfs:range
|
s:Author .
|
7 s:writtenBy
|
rdfs:domain
|
s:Book .
|
8 s:createdBy
|
rdfs:range
|
s:Creator .
|
9 s:Creator
|
rdfs:subClassOf
|
s:Person .
|
10 d:GoneWithTheWind
|
s:writtenBy
|
d:Margaret .
|
(a) Draw a diagram representing the graph G. Use dashed lines to identify instances of classes and properties. (5 marks)
(b) For each of the statement below, decide if the graph G entails the statement(s) given and explain why/why not? If the answer is “yes”, the statement(s) is entailed by G,
then use the simple entailment rules (se1, se2) and the rdfs entailment rules (rdfs1, . . . , rdfs13) to prove that your answer is correct. If the answer is “no”, then explain, informally or formally, why this is so. A summary of the rdfs entailment rules is provided at the end of this exam paper.
i. :n rdf:type s:Book . (5 marks)
ii. :n rdf:type s:Person . (5 marks)
iii. s:Author rdfs:subClassOf s:Creator . (5 marks)
iv. d:Margaret rdf:type :Woman . (5 marks)
3. Answer each of the following questions:
(a) Write an OWL model (using the Turtle syntax) representing the statements listed be- low about the following URIs:
StaffMember, AcademicStaffMember, TechnicalStaffMember, supervises, manages, joe, ann, mary:
a. StaffMember, AcademicStaffMember and TechnicalStaffMember are classes;
b. TechnicalStaffMember is a subclass of StaffMember;
c. supervises is a property;
d. collaborates with has domain AcademicStaffMember and range Academic StaffMember;
e. joe is a TechnicalStaffMember;
f. ann and mary are AcademicStaffMembers;
g. mary collaborates-with ann;
h. ann supervises joe.
i. supervises is a functional property;
j. AcademicStaffMember and TechnicalStaffMember cannot have any common instances;
k. StaffMember is the union of the classes AcademicStaffMember and TechnicalStaffMember. (11 marks)
(b) Can you model in RDFS the following statement: “ an AcademicStaffMember supervises at least 2 TechnicalStaffMember ”? If yes provide the RDFS repre- sentation using its Turtle syntax, if not justify your answer. (2 marks)
(c) Write the SPARQL queries corresponding to the following sentences:
a. find all the people supervising joe; (4 marks)
b. find every person that is either a technical staff member or the supervisor of a technical staff member; (4 marks)
c. find all the academic staff members who are collaborating. (4 marks)
For your convenience here are the RDFS-entailment patterns
RDFS entailment patterns.
|
If S contains:
|
then S RDFS entails recognizing D:
|
rdfs1
|
any IRI aaa in D
|
aaa rdf:type rdfs:Datatype .
|
rdfs2
|
aaa rdfs:domain xxx .
yyy aaa zzz .
|
yyy rdf:type xxx .
|
rdfs3
|
aaa rdfs:range xxx .
yyy aaa zzz .
|
zzz rdf:type xxx .
|
rdfs4a
|
xxx aaa yyy .
|
xxx rdf:type rdfs:Resource .
|
rdfs4b
|
xxx aaa yyy .
|
yyy rdf:type rdfs:Resource .
|
rdfs5
|
xxx rdfs:subPropertyOf yyy .
yyy rdfs:subPropertyOf zzz .
|
xxx rdfs:subPropertyOf zzz .
|
rdfs6
|
xxx rdf:type rdf:Property .
|
xxx rdfs:subPropertyOf xxx .
|
rdfs7
|
aaa rdfs:subPropertyOf bbb .
xxx aaa yyy .
|
xxx bbb yyy .
|
rdfs8
|
xxx rdf:type rdfs:Class .
|
xxx rdfs:subClassOf rdfs:Resource .
|
rdfs9
|
xxx rdfs:subClassOf yyy .
zzz rdf:type xxx .
|
zzz rdf:type yyy .
|
rdfs10
|
xxx rdf:type rdfs:Class .
|
xxx rdfs:subClassOf xxx .
|
rdfs11
|
xxx rdfs:subClassOf yyy .
yyy rdfs:subClassOf zzz .
|
xxx rdfs:subClassOf zzz .
|
rdfs12
|
xxx rdf:type rdfs:ContainerMembershipProperty
.
|
xxx rdfs:subPropertyOf rdfs:member
.
|
rdfs13
|
xxx rdf:type rdfs:Datatype .
|
xxx rdfs:subClassOf rdfs:Literal .
|