
Map Your Friend-of-a-Friend Network #99
Chapter 9, Mapping with Other People
|
507
HACK
push @out, map { Class::RDF::Object->new($_->subject->value) } @n;
}
print Class::RDF->serialise(@out);
We drop this file on a web server somewhere and point the RDFMapper
web service at it. The full instructions, including details on customizing the
display and page layout, are at http://www.mapbureau.com/rdfmapper/.
All the scripts accompanying this hack, and a demo showing the current
state of geo-annotated FOAF world, are at http://mappinghacks.com/
foafworld/.
Identifying People with FOAF
If you have an eye for RDF/XML, you’ll notice that the two Persons in our
first example are not identified by URL, but by temporary nodes that have
temporary IDs relative only to that document—what’s known as a bnode in
RDF terms. In the FOAF world, it can be considered impolite to refer to
people by URLs. I am not a number, nor do I want to be assigned a barcode
from birth (although the FOAF spec does describe a
dna_checksum prop-
erty). Because we can’t, or don’t want to, assign a unique global identifier to
each person, we use a technique called smushing to connect all the informa-
tion we spidered from the FOAF web into one big graph and figure out
which people are actually the same people, mentioned several times.
At http://xmlns.com/foaf/0.1/, the FOAF vocabulary lists the classes and
properties of people (and other “Agents,” ...