Logic Programming
What
versus
How
 

Assignment - Metadata


In the lecture on Datasets, we saw that it is possible to represent data in the form of triples. In this assignment, you are asked to illustrate this by encoding data about our triple-based representation (i.e. "metadata").

Consider a vocabulary where the symbols include (a) the types of entities described in the Movies assigment, i.e. movie, actor, director, year, title, (b) the unary type predicates, (c) the binary attributes, and (d) the booleans yes and no. (Yes, the predicates in our movie vocabulary are symbols in this vocabulary. It is, in effect, a metavocabulary.) Brief descriptions of the items in this vocabulary are gven below.

type.instance(x) means that x is a type of entity. For example, type.instance(movie) is true.
type.predicate(x,y) means that type x has a unary predicate y that is true of entities of type x.
type.attribute(x,y) means that type x has an attribute y that applies to entities of type x.

predicate.instance(x) means that x is a unary relation.
predicate.domain(x,y) means that predicate x has domain y. (It is the inverse of type.predicate.)

attribute.instance(x) means that x is a binary relation.
attribute.domain(x,y) means that attribute x has domain y.
attribute.codomain(x,y) means that attribute x has codomain y.
attribute.total(x,b) means that attribute x has at least one value if b is yes.
attribute.unique(x,b) means that attribute x has at most one value if b is yes.

boolean.instance(x) means that x is a boolean, i.e. yes or no.

Use this vocabulary to describe the types and relations in our movie vocabulary.

Submission details: When you are done, head over to Gradescope to submit your answers.




Feedback