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
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"
- 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:
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.
- 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.