"FOAF is all about creating and using machine-readable homepages that describe people, the links between them, and the things they create and do."
FOAF is simply a vocabulary (ontology) written in OWL that includes standard terms to describe personal information. It serves as a standard for everyone who wants to markup their homepages in a machine-readable format.
A decentralized network of machine-readable personal data
Suppose you publish a simple FOAF document with just your name and homepage. Your friend publishes her FOAF document using foaf:knows to link to you, and includes a foaf:plan describing your current life goals. After aggregation, your profile suddenly includes a plan you didn't even add!
http://xmlns.com/foaf/0.1/
foaf:Person
Core class
foaf:name
Full name
foaf:nick
Nickname
foaf:mbox
Email address
foaf:homepage
Personal website
foaf:knows
Relationships
foaf:img
Image
foaf:title
Title (Dr, Mr)
foaf:depiction
Picture of person
Today, the FOAF vocabulary also includes basic terms to describe documents, projects, groups, and organizations such as companies. It is the most frequently encountered RDF document on the Internet!
How do you uniquely identify a person without a central URI authority? FOAF uses email addresses as practical identifiers since friends typically know each other's emails.
foaf:mbox INVERSE FUNCTIONALDefined as an inverse functional property, ensuring that at most one individual can own a specific email. If two FOAF documents have the same foaf:mbox value, they describe the same person.
foaf:mbox_sha1sum PRIVACY PROTECTIONA SHA1 hash representation of your email address. Long and ugly, but protects your privacy from spam while still uniquely identifying you!
The foaf:knows property describes relationships between people. It creates the social graph that makes FOAF powerful.
foaf:knows is NOT symmetric! "I know Jin Chen" does not imply "Jin Chen knows me." Check the FOAF vocabulary definition to confirm this.
rdfs:seeAlso HYPERLINK OF FOAFActs as a hyperlink to another FOAF document. This is how the crawler (called scutter) discovers and builds the network of FOAF documents. Essential for connecting your document to the wider FOAF circle!
depiction: "I (the person) am depicted in this image"
depicts: "This image depicts me (the person)"
They are inverse properties - choose based on your starting point!
Use the FOAF vocabulary. Remember to use foaf:knows to connect with friends and rdfs:seeAlso to link to other documents.
Add a link from your HTML homepage to your FOAF document. Make the document accessible online.
The FOAF crawler (called scutter) visits the Web, finds FOAF files, and follows rdfs:seeAlso links to build the network.
The framework stores all information in a centralized database, keeping it up to date by running the scutter periodically.
Tools like FOAF Web view, FOAF Explorer, and foafnaut let you navigate and find friends in the circle.
The most popular tool for creating FOAF documents is FOAF-a-matic, a web-based authoring tool. You can also use a simple text editor with the FOAF vocabulary, then validate your document to ensure correct syntax.
Add a link tag in your HTML header pointing to your FOAF document:
rdfs:seeAlso link to your documentIf an existing ontology has the terms you need, reuse it! This reduces duplicate ontologies and improves interoperability. Applications that understand one ontology will easily understand yours.
Our camera ontology had a Person class. Since foaf:Person has the same semantics, we can make Photographer a direct subclass of foaf:Person instead of defining our own!
Fewer ontology documents = less ontology matching/merging headaches. Existing FOAF-aware applications will automatically understand your Photographer class!
Search engines can locate your FOAF document and understand your interests, allowing them to rank results or exclude irrelevant pages.
Online stores can read your FOAF file to recommend products based on your interests. They could even email your friends recommending products you bought!
Navigate through FOAF documents to find participants with similar interests. Essential for large conferences with thousands of attendees!
Multiple research groups working on the same project can integrate their FOAF files to generate comprehensive, up-to-date progress reports automatically.
Swoogle and FOAF are presented as Semantic Web examples to inspire you and demonstrate how the Semantic Web can be used in real-world applications. What will you create?
http://xmlns.com/foaf/0.1/FOAF documents can be aggregated, explored, and cross-linked easily. This enables powerful applications from enhanced search to e-commerce personalization to conference networking.
Create your own FOAF document, link it to your homepage, and join the circle of friends! The Semantic Web is built by participation.