Reference no: EM133025839
Task 1:
• Note that text and formula should not be submitted written by hand. However,
• Venn diagrams and graphs can be sketched by hand.
1 General Knowledge Representation
The following questions are asked to test your ability to position knowledge representation in the field of computer science and artificial intelligence. Please answer the questions using text, sketches and formalisms, when you deem it appropriate (or when it is requested). You should be able to answer each question in less than 5 rows.
1. Explain in appropriate detail the difference between symbolic AI, non-symbolic AI and hybrid approaches to AI.
2. What is the symbol grounding problem and why is it an important problem for computer science?
3. Explain the difference between syntax and semantics, and how they relate to the symbol grounding problem.
4. In DL, what does the T Box and the A Box stand for and what is the difference?
2 Modelling in Description Logics
The following exercises are made to test your ability to describe concepts and representations using description logics (ALC).
1 Modelling in DL
Formalize the following statements:
1. A person who is both a teacher and a student
2. Dog is a type of animal
3. A person who has a pet that is a dog
4. A mother that has at least 3 daughters
Define the following:
1. Husband
2. Grandparent
3. Ghost
4. War veteran
Model in DL, draw Venn diagrams and draw directed graphs for:
1. A dog is a mammal and a mammal is an animal.
2. A dog is a mammal and a cat is a mammal, but a dog is not equal to a cat.
3. Of your choice, choose a domain C (not animals), include two subset, include at least 3 individuals in D and E, in which two individuals are equivalent.
3 Design a Knowledge Base from a comic book
This is a bigger task in which you have some freedom to design it as you think makes the most sense. It is intended to test your skills to set up a DL Knowledge Base. Your job is to model a comic book universe as a DL domain.
You need to construct a signature (NI, NC, NR) and you need to fill the T Box (T = {C, R})1 and the ABox (A
= {a1, a2, ...an}) with appropriate information. The Knowledge base should contain several individuals such as a hero and her/his alterego (real name), a villain, a sidekick, a love interest, a place and an event. Additionally, it should contain appropriate concepts and roles.
Make sure that you properly describe your knowledge base also in words.
1Note that C and R are also sets, C of "unary predicates" C = {C1, C2, ...Cn}, and R of "binary predicates" R = {r1(C1, C2), r2(a1, a2)...}.
Task 2:
1. The Pizza Ontology
In this task you will get familiar with OWL ontology and the ontology editor, Protégé, by looking at a tutorial ontology, the pizza ontology. The pizza ontology is a well-known ontology in the semantic web community. It is developed for educational purposes by the University of Manchester, which is a leading university in the development of semantic technologies.
Download the Protégé
Open the pizza ontology in Protégé from URL,
In the tab "Active Ontology", you can get an overview of the ontology, such as the ontology IRI, the ontology version, prefixes and also the ontology metrics.
How to use Protégé you are suggested to check the tutorial for using Protégé (version 4) and
A Practical Guide to Building OWL Ontologies Using Protégé 5.5 and Plugins.
Go to the tab "Entities", take some time to browse the classes, the properties, and the individuals, understand how the ontology describes the domain of pizzas and solve the exercises below:
Find "American" and look at its definition. Look at the definition of NonVegetarianPizza. Is an American pizza a nonvegetarian pizza? Why / why not?
Find "hasIngredient". What is the domain and range of this property? What are the subproperties of "hasIngredient"? What is the inverse property of "hasIngredient"? What property characteristics does "hasIngredient" have?
Classify the ontology by choosing "start reasoner" in the reasoner menu (the default reasoner in Protégé 5.5 is HermiT). The class hierarchy that is automatically computed by the reasoner is called the inferred hierarchy. The manually constructed class hierarchy is called asserted hierarchy. In general, what is the difference between the asserted class hierarchy and the inferred class hierarchy?
In the "Inferred class hierarchy" two classes show up as sub classes of owl:Nothing. What does it mean for a class to be a subclass of owl:Nothing? Explain why these two classes appear as subclasses of owl:Nothing.
Find "American" in the inferred class hierarchy and see which classes are inferred as superclasses of "American"?
Add a new class "Grandiosa" as a subclass of "NamedPizza". Define "Grandiosa" as something which
• hasTopping some HamTopping,
• hasTopping some TomatoTopping and
• hasTopping some CheeseTopping.
Classify the ontology. What superclasses are inferred as superclass of Grandiosa? Explain why.
2. An Ontology for Educational Resources in European Universities
In this task you will develop an ontology in OWL 2 DL. You can imagine that the ontology will be used to support the systems that integrate the data from different European universities about their educational resources and serve the data for students to look for courses and programs.
The ontology development process:
1) Work as a customer/domain expert, i.e., a student who is looking for courses and study programs offered by European universities that best fit personal interests and abilities. Write a text describing the typical information that should be managed by the systems.
2) Work as an ontologist and analyze the text and prepare a list of competency questions (CQs), additional restrictions, and potential reasoning requirements that could be elicited from there.
3) Work as an ontologist and develop the ontology based on the CQs. Use the Protégé as the ontology development tool.
Task 3:
Reading materials:
• RDF 1.1 Primer
• RDF Schema 1.1
• RDF 1.1 Turle
• Cool URIs for the Semantic Web
1. Get to know Stardog Studio
Stardog is a popular commercial triple store. Stardog Studio is the IDE to build and manage data in Stardog server. In this lab we will use Stardog Studio as an editor to read and write RDF datasets. Access Stardog Studio at https://stardog.studio . More information about the Stardog Studio.
2. Get familiar with the RDF and RDF(S)
In this task you will get familiar with RDF and RDF(S) by looking at a Music dataset. Check this document, for the details of the datasets. The document also provides a nice introduction to data modeling using RDF.
Download the beatles.ttl and music_schema.ttl from Stardog tutorials repository on the GitHub and open them in the "Workspace" in Stardog studio. To open a file in the "Workspace, click the "+" on the top right corner and choose "File Upload".
The "music_schema.ttl" contains a simple schema for the music dataset. The "beatles.ttl" gives a tiny version of the dataset.
Spend some time to understand the dataset and address the exercises below:
What is the namespace of the dataset and the schema?
Write the information modeled in the "beatles.ttl" using natural language texts.
Write the triples in the "beatles.ttl" as a directed labelled graph where resources are ellipses, literals are boxes and properties are arrows.
Draw the directed labelled graph of the schema represented in "music_schema.ttl".
Note: You can ignore the triples where the predicates are "rdfs:label" and "rdfs:comment".
3. Understand the RDF triples in Open Linked Data
In this task you will look at the RDF triples in the DBpedia. DBpedia is an RDF version of information from Wikipedia. It contains over 100 million triples and includes data derived from Wikipedia's infoboxes, category hierarchy, article abstracts, and various external links.
The resource about Tim Berner Lee from the DBpedia on the Web. What do the following URIs refer to?
Go to dbpedia.org or dbpedia.org. Spend some time to understand the triples in the dataset and answer the questions below:
o Give the list of the vocabularies/ontologies used to describe the data. Tip: look at the section of the namespace prefixes.
o Choose three triples and write the information described by the triples in natural language texts.
4. Create an open dataset about yourself using the FOAF ontology
In this task you will create your own online profile using the FOAF ontology. To understand the classes and properties in FOAF, read the document. You also can explore the ontology in Protégé. Try to be as complete as possible for your FOAF profile. For example, the dataset includes:
• your name, email address, your school/university, your homepage (if you have),
• your interests, e.g. books, photos, website, etc. (using their links),
• persons who know you and their names and email address,
• any projects you are working on,
• any groups you belong to and their links, etc.
If classes or properties in FOAF ontology are not sufficient to describe your profile, you are encouraged to use the terms from other existing ontologies. provides a service to search terms in existing ontologies.
Note:
• Don't forget the namespace prefixes!
• Use Stardog Studio as an editor when create the dataset. Click the "+" on the top right corner and choose "New Tab" and choose "Turtle" on the right bottom corner.
• Use "Ctrl+S" to save the Turtle file in Stardog Studio.
Task 4:
Reading Materials:
• SPARQL 1.1 Query Language
1. Get Familiar with SPAQRL
In this part you will get familiar with SPAQRL using Stardog Express. Stardog Express is a Cloud Starter Kit, a free, hosted environment that includes Stardog Studio, pre-built datasets, and sample SPARQL queries, etc.
• Go to Stardog Studio
• Click the button on the left bottom corner , choose the Stardog Express server and connect to the server.
• Select the database to query.
• Follow the tutorial and practice the SPAQRL queries.
2. Query Open Linked Data
In this task you will query the DBpedia via its SPARQL endpoint. Go to the DBpedia SPARQL endpoint and solve the exercises below. In the menu "Tables" you can find "Namespace Prefixes" which provides the list of namespace prefixes encoded in the endpoint.
Find 20 example concepts in the DBpedia dataset.
Find the resource of Jönköping. Tip: don't forget to use the language tag in your query: "Jönköping"@en
Describe Jönköping using the URI retrieved by the previous query (use a DESCRIBE query).
The behavior of a DESCRIBE query is up to the server. Create a query to retrieve all properties around Jönköping, i.e. all predicates and objects where Jönköping is the subject, and all predicated and subjects where Jönköping is the object.
List the people and their names who are born in Jönköping before 1900. 2.6) Are there musical artists who were born in Jönköping? (use an ASK query).
Find 10 people (URI and place of death) who were born in Jönköping, but died elsewhere.
Now make some (at least two) fun queries over DBpedia, and visualize your query results using Sgvizler, a simple Javascript visualization wrapper .
Note: The examples on the website do not work, since the SPARQL endpoints used in the examples are not running. Otherwise, the examples are useful for understanding how to use Sgvizler. sgvizler_demo.html gives a running example. You can download and test it.
3. Query Linked Data from program
Pystardog is a Python wrapper for communicating with the Stardog HTTP server, but also it can be used to communicate with other SPARQL endpoints. Its documentation can be found. A simple example program can be found in this file.
The SPARQL query result is serialized in a JSON format.
Make some (at least two) queries over DBpedia from your program.
If you wish to visualize the query result, It is a nice python library built on Google Visualization API.
How to programming with Stardog in different programming languages can be found on this page
Attachment:- Computer science and artificial intelligence.rar