Lab 7: RDF
Due April 18 at the start of class. 30 points.
To turn in: place a copy of your search program in your submit
directory.
In this lab, you'll get some experience representing and working with
relational data on the web using RDF. We'll focus on a fairly small
but fun-to-play with RDF application called FOAF (friend-of-a-friend).
- Make a FOAF profile using the
FOAF-a-Matic. Add between 3 and 5 people you know. (they don't
have to be in cs682.) Place an auto-discovery link in your home page
that points to your FOAF profile, as follows:
< link rel="meta" type="application/rdf+xml" title="FOAF"
href="foaf.rdf" />
- For this part, you'll write a command-line-driven program that
tries to solve the 'Kevin Bacon' problem for a given person. That is,
given a person's name and a FOAF profile, find the shortest path
through the graph of friends that leads to this person.
To do this, you'll need to:
- Read in the FOAF profile.
- Find all 'knows' nodes.
- For each of those people, get their homepage URL.
- Use that to get that person's FOAF profile, if it exists.
- Search this graph in a breadth-first fashion to find the person
you're looking for.
In other words, look at the orginating file's friends, then their
friends, then their friends' friends, and so on. If you do not find
the person within 5 links, you may stop.