FOAF Vocabulary Specification (original) (raw)

Classes

Class: foaf:Agent

Agent - An agent (eg. person, group, software or physical artifact).

Status: stable
Properties include: gender yahooChatID account birthday icqChatID aimChatID jabberID made mbox interest tipjar skypeID topic_interest age mbox_sha1sum status msnChatID openid holdsAccount weblog
Used with: maker member
Has Subclass Group Person Organization

The [Agent](#term%5FAgent) class is the class of agents; things that do stuff. A well known sub-class is [Person](#term%5FPerson), representing people. Other kinds of agents include [Organization](#term%5FOrganization) and [Group](#term%5FGroup).

The [Agent](#term%5FAgent) class is useful in a few places in FOAF where [Person](#term%5FPerson) would have been overly specific. For example, the IM chat ID properties such as jabberID are typically associated with people, but sometimes belong to software bots.

[#] [back to top]

Class: foaf:Document

Document - A document.

Status: stable
Properties include: topic primaryTopic sha1
Used with: workInfoHomepage workplaceHomepage page accountServiceHomepage openid tipjar schoolHomepage publications isPrimaryTopicOf interest homepage weblog
Has Subclass Image PersonalProfileDocument
Disjoint With: Project Organization

The [Document](#term%5FDocument) class represents those things which are, broadly conceived, 'documents'.

The [Image](#term%5FImage) class is a sub-class of [Document](#term%5FDocument), since all images are documents.

We do not (currently) distinguish precisely between physical and electronic documents, or between copies of a work and the abstraction those copies embody. The relationship between documents and their byte-stream representation needs clarification (see [sha1](#term%5Fsha1)for related issues).

[#] [back to top]

Class: foaf:Group

Group - A class of Agents.

Status: stable
Properties include: member
Subclass Of Agent

The [Group](#term%5FGroup) class represents a collection of individual agents (and may itself play the role of a [Agent](#term%5FAgent), ie. something that can perform actions).

This concept is intentionally quite broad, covering informal and ad-hoc groups, long-lived communities, organizational groups within a workplace, etc. Some such groups may have associated characteristics which could be captured in RDF (perhaps a [homepage](#term%5Fhomepage), [name](#term%5Fname), mailing list etc.).

While a [Group](#term%5FGroup) has the characteristics of a [Agent](#term%5FAgent), it is also associated with a number of other [Agent](#term%5FAgent)s (typically people) who constitute the [Group](#term%5FGroup). FOAF provides a mechanism, the [membershipClass](#term%5FmembershipClass) property, which relates a [Group](#term%5FGroup) to a sub-class of the class [Agent](#term%5FAgent) who are members of the group. This is a little complicated, but allows us to make group membership rules explicit.

The markup (shown below) for defining a group is both complex and powerful. It allows group membership rules to match against any RDF-describable characteristics of the potential group members. As FOAF and similar vocabularies become more expressive in their ability to describe individuals, the [Group](#term%5FGroup) mechanism for categorising them into groups also becomes more powerful.

While the formal description of membership criteria for a [Group](#term%5FGroup) may be complex, the basic mechanism for saying that someone is in a [Group](#term%5FGroup) is very simple. We simply use a [member](#term%5Fmember) property of the[Group](#term%5FGroup) to indicate the agents that are members of the group. For example:

foaf:Group foaf:nameILRT staff foaf:member foaf:Person foaf:nameMartin Poulter <foaf:homepage rdf:resource="" title="undefined" rel="noopener noreferrer">http://www.ilrt.bris.ac.uk/aboutus/staff/staffprofile/?search=plmlp"/> <foaf:workplaceHomepage rdf:resource="" title="undefined" rel="noopener noreferrer">http://www.ilrt.bris.ac.uk/"/>

Behind the scenes, further RDF statements can be used to express the rules for being a member of this group. End-users of FOAF need not pay attention to these details.

Here is an example. We define a [Group](#term%5FGroup) representing those people who are ILRT staff members (ILRT is a department at the University of Bristol). The [membershipClass](#term%5FmembershipClass) property connects the group (conceived of as a social entity and agent in its own right) with the class definition for those people who constitute it. In this case, the rule is that all group members are in the ILRTStaffPerson class, which is in turn populated by all those things that are a [Person](#term%5FPerson) and which have a [workplaceHomepage](#term%5FworkplaceHomepage) of http://www.ilrt.bris.ac.uk/. This is typical: FOAF groups are created by specifying a sub-class of [Agent](#term%5FAgent) (in fact usually this will be a sub-class of [Person](#term%5FPerson)), and giving criteria for which things fall in or out of the sub-class. For this, we use the owl:onProperty and owl:hasValue properties, indicating the property/value pairs which must be true of matching agents.

foaf:Group foaf:nameILRT staff foaf:membershipClass <owl:Class rdf:about="" title="undefined" rel="noopener noreferrer">http://ilrt.example.com/groups#ILRTStaffPerson"> <rdfs:subClassOf rdf:resource="" title="undefined" rel="noopener noreferrer">http://xmlns.com/foaf/0.1/Person"/> rdfs:subClassOf owl:Restriction <owl:onProperty rdf:resource="" title="undefined" rel="noopener noreferrer">http://xmlns.com/foaf/0.1/workplaceHomepage"/> <owl:hasValue rdf:resource="" title="undefined" rel="noopener noreferrer">http://www.ilrt.bris.ac.uk/"/>

Note that while these example OWL rules for being in the eg:ILRTStaffPerson class are based on a [Person](#term%5FPerson) having a particular [workplaceHomepage](#term%5FworkplaceHomepage), this places no obligations on the authors of actual FOAF documents to include this information. If the information is included, then generic OWL tools may infer that some person is an eg:ILRTStaffPerson. To go the extra step and infer that some eg:ILRTStaffPerson is a [member](#term%5Fmember) of the group whose [name](#term%5Fname) is "ILRT staff", tools will need some knowledge of the way FOAF deals with groups. In other words, generic OWL technology gets us most of the way, but the full [Group](#term%5FGroup) machinery requires extra work for implimentors.

The current design names the relationship as pointing from the group, to the member. This is convenient when writing XML/RDF that encloses the members within markup that describes the group. Alternate representations of the same content are allowed in RDF, so you can write claims about the Person and the Group without having to nest either description inside the other. For (brief) example:

foaf:Group <foaf:member rdf:nodeID="martin"/> <foaf:Person rdf:nodeID="martin">

There is a FOAF issue trackerassociated with this FOAF term. A design goal is to make the most of W3C's OWL language for representing group-membership criteria, while also making it easy to leverage existing groups and datasets available online (eg. buddylists, mailing list membership lists etc). Feedback on the current design is solicited! Should we consider using SPARQL queries instead, for example?

[#] [back to top]

Class: foaf:Image

Image - An image.

Status: stable
Properties include: depicts thumbnail
Used with: img thumbnail depiction
Subclass Of Document

The class [Image](#term%5FImage) is a sub-class of [Document](#term%5FDocument)corresponding to those documents which are images.

Digital images (such as JPEG, PNG, GIF bitmaps, SVG diagrams etc.) are examples of [Image](#term%5FImage).

[#] [back to top]

Class: foaf:Organization

Organization - An organization.

Status: stable
Subclass Of Agent
Disjoint With: Document Person

The [Organization](#term%5FOrganization) class represents a kind of [Agent](#term%5FAgent)corresponding to social instititutions such as companies, societies etc.

This is a more 'solid' class than [Group](#term%5FGroup), which allows for more ad-hoc collections of individuals. These terms, like the corresponding natural language concepts, have some overlap, but different emphasis.

[#] [back to top]

Class: foaf:Person

Person - A person.

Status: stable
Properties include: plan surname geekcode pastProject lastName family_name publications currentProject familyName firstName workInfoHomepage myersBriggs schoolHomepage img workplaceHomepage knows
Used with: knows
Subclass Of Agent Spatial Thing
Disjoint With: Project Organization

The [Person](#term%5FPerson) class represents people. Something is a [Person](#term%5FPerson) if it is a person. We don't nitpic about whether they're alive, dead, real, or imaginary. The [Person](#term%5FPerson) class is a sub-class of the [Agent](#term%5FAgent) class, since all people are considered 'agents' in FOAF.

[#] [back to top]

Class: foaf:OnlineAccount

Online Account - An online account.

Status: testing
Properties include: accountName accountServiceHomepage
Used with: account holdsAccount
Subclass Of Thing
Has Subclass Online E-commerce Account Online Gaming Account Online Chat Account

The [OnlineAccount](#term%5FOnlineAccount) class represents the provision of some form of online service, by some party (indicated indirectly via a [accountServiceHomepage](#term%5FaccountServiceHomepage)) to some [Agent](#term%5FAgent). The [account](#term%5Faccount) property of the agent is used to indicate accounts that are associated with the agent.

See [OnlineChatAccount](#term%5FOnlineChatAccount) for an example. Other sub-classes include [OnlineEcommerceAccount](#term%5FOnlineEcommerceAccount) and [OnlineGamingAccount](#term%5FOnlineGamingAccount).

One deployment style for this construct is to use URIs for well-known documents (or other entities) that strongly embody the account-holding relationship; for example, user profile pages on social network sites. This has the advantage of providing URIs that are likely to be easy to link with other information, but means that the instances of this class should not be considered 'accounts' in the abstract or business sense of a 'contract'.

[#] [back to top]

Class: foaf:PersonalProfileDocument

PersonalProfileDocument - A personal profile RDF document.

Status: testing
Subclass Of Document

The [PersonalProfileDocument](#term%5FPersonalProfileDocument) class represents those things that are a [Document](#term%5FDocument), and that use RDF to describe properties of the person who is the [maker](#term%5Fmaker)of the document. There is just one [Person](#term%5FPerson) described in the document, ie. the person who [made](#term%5Fmade) it and who will be its[primaryTopic](#term%5FprimaryTopic).

The [PersonalProfileDocument](#term%5FPersonalProfileDocument) class, and FOAF's associated conventions for describing it, captures an important deployment pattern for the FOAF vocabulary. FOAF is very often used in public RDF documents made available through the Web. There is a colloquial notion that these "FOAF files" are often _somebody's_FOAF file. Through [PersonalProfileDocument](#term%5FPersonalProfileDocument) we provide a machine-readable expression of this concept, providing a basis for FOAF documents to make claims about their maker and topic.

When describing a [PersonalProfileDocument](#term%5FPersonalProfileDocument) it is typical (and useful) to describe its associated [Person](#term%5FPerson)using the [maker](#term%5Fmaker) property. Anything that is a[Person](#term%5FPerson) and that is the [maker](#term%5Fmaker) of some[PersonalProfileDocument](#term%5FPersonalProfileDocument) will be the [primaryTopic](#term%5FprimaryTopic) of that [Document](#term%5FDocument). Although this can be inferred, it is often helpful to include this information explicitly within the[PersonalProfileDocument](#term%5FPersonalProfileDocument).

For example, here is a fragment of a personal profile document which describes its author explicitly:

<foaf:Person rdf:nodeID="p1"> foaf:nameDan Brickley <foaf:homepage rdf:resource="" title="undefined" rel="noopener noreferrer">http://danbri.org/"/>

<foaf:PersonalProfileDocument rdf:about=""> <foaf:maker rdf:nodeID="p1"/> <foaf:primaryTopic rdf:nodeID="p1"/>

Note that a [PersonalProfileDocument](#term%5FPersonalProfileDocument) will have some representation as RDF. Typically this will be in W3C's RDF/XML syntax, however we leave open the possibility for the use of other notations, or representational conventions including automated transformations from HTML (GRDDL spec for one such technique).

[#] [back to top]

Class: foaf:Project

Project - A project (a collective endeavour of some kind).

Status: testing
Disjoint With: Document Person

The [Project](#term%5FProject) class represents the class of things that are 'projects'. These may be formal or informal, collective or individual. It is often useful to indicate the [homepage](#term%5Fhomepage) of a [Project](#term%5FProject).

Further work is needed to specify the connections between this class and the FOAF properties [currentProject](#term%5FcurrentProject) and [pastProject](#term%5FpastProject).

[#] [back to top]

Class: foaf:LabelProperty

Label Property - A foaf:LabelProperty is any RDF property with texual values that serve as labels.

Status: unstable

A [LabelProperty](#term%5FLabelProperty) is any RDF property with texual values that serve as labels.

Any property that is a [LabelProperty](#term%5FLabelProperty) is effectively a sub-property of rdfs:label. This utility class provides an alternate means of expressing this idea, in a way that may help with OWL 2.0 DL compatibility.

[#] [back to top]

Class: foaf:OnlineChatAccount

Online Chat Account - An online chat account.

Status: unstable
Subclass Of Online Account

A [OnlineChatAccount](#term%5FOnlineChatAccount) is a [OnlineAccount](#term%5FOnlineAccount) devoted to chat / instant messaging. The account may offer other services too; FOAF's sub-classes of [OnlineAccount](#term%5FOnlineAccount) are not mutually disjoint.

This is a generalization of the FOAF Chat ID properties, [jabberID](#term%5FjabberID), [aimChatID](#term%5FaimChatID), [skypeID](#term%5FskypeID), [msnChatID](#term%5FmsnChatID), [icqChatID](#term%5FicqChatID) and [yahooChatID](#term%5FyahooChatID).

Unlike those simple properties, [OnlineAccount](#term%5FOnlineAccount) and associated FOAF terms allows us to describe a great variety of online accounts, without having to anticipate them in the FOAF vocabulary.

For example, here is a description of an IRC chat account, specific to the Freenode IRC network:

foaf:Person foaf:nameDan Brickley foaf:account foaf:OnlineAccount <rdf:type rdf:resource="" title="undefined" rel="noopener noreferrer">http://xmlns.com/foaf/0.1/OnlineChatAccount"/> <foaf:accountServiceHomepage rdf:resource="" title="undefined" rel="noopener noreferrer">http://www.freenode.net/"/> foaf:accountNamedanbri

Note that it may be impolite to carelessly reveal someone else's chat identifier (which might also serve as an indicate of email address) As with email, there are privacy and anti-SPAM considerations. FOAF does not currently provide a way to represent an obfuscated chat ID (ie. there is no parallel to the [mbox](#term%5Fmbox) / [mbox_sha1sum](#term%5Fmbox%5Fsha1sum) mapping).

In addition to the generic [OnlineAccount](#term%5FOnlineAccount) and [OnlineChatAccount](#term%5FOnlineChatAccount) mechanisms, FOAF also provides several convenience chat ID properties ([jabberID](#term%5FjabberID), [aimChatID](#term%5FaimChatID), [icqChatID](#term%5FicqChatID), [msnChatID](#term%5FmsnChatID),[yahooChatID](#term%5FyahooChatID), [skypeID](#term%5FskypeID)). These serve as as a shorthand for some common cases; their use may not always be appropriate.

We should specify some mappings between the abbreviated and full representations of Jabber, AIM, MSN, ICQ, Yahoo! and MSN chat accounts. This has been done for [skypeID](#term%5FskypeID). This requires us to identify an appropriate [accountServiceHomepage](#term%5FaccountServiceHomepage) for each. If we wanted to make the [OnlineAccount](#term%5FOnlineAccount) mechanism even more generic, we could invent a relationship that holds between a [OnlineAccount](#term%5FOnlineAccount) instance and a convenience property. To continue the example above, we could describe how Freenode could define a property 'fn:freenodeChatID' corresponding to Freenode online accounts.

[#] [back to top]

Class: foaf:OnlineEcommerceAccount

Online E-commerce Account - An online e-commerce account.

Status: unstable
Subclass Of Online Account

A [OnlineEcommerceAccount](#term%5FOnlineEcommerceAccount) is a [OnlineAccount](#term%5FOnlineAccount) devoted to buying and/or selling of goods, services etc. Examples include Amazon, eBay, PayPal, thinkgeek, etc.

[#] [back to top]

Class: foaf:OnlineGamingAccount

Online Gaming Account - An online gaming account.

Status: unstable
Subclass Of Online Account

A [OnlineGamingAccount](#term%5FOnlineGamingAccount) is a [OnlineAccount](#term%5FOnlineAccount) devoted to online gaming.

Examples might include EverQuest, Xbox live, Neverwinter Nights, etc., as well as older text-based systems (MOOs, MUDs and suchlike).

[#] [back to top]

Properties

Property: foaf:homepage

homepage - A homepage for some thing.

Status: stable
Domain: having this property implies being a Thing
Range: every value of this property is a Document
Inverse Functional Property

The [homepage](#term%5Fhomepage) property relates something to a homepage about it.

Many kinds of things have homepages. FOAF allows a thing to have multiple homepages, but constrains [homepage](#term%5Fhomepage) so that there can be only one thing that has any particular homepage.

A 'homepage' in this sense is a public Web document, typically but not necessarily available in HTML format. The page has as a [topic](#term%5Ftopic) the thing whose homepage it is. The homepage is usually controlled, edited or published by the thing whose homepage it is; as such one might look to a homepage for information on its owner from its owner. This works for people, companies, organisations etc.

The [homepage](#term%5Fhomepage) property is a sub-property of the more general [page](#term%5Fpage) property for relating a thing to a page about that thing. See also [topic](#term%5Ftopic), the inverse of the [page](#term%5Fpage) property.

[#] [back to top]

Property: foaf:isPrimaryTopicOf

is primary topic of - A document that this thing is the primary topic of.

Status: stable
Domain: having this property implies being a Thing
Range: every value of this property is a Document
Inverse Functional Property

The [isPrimaryTopicOf](#term%5FisPrimaryTopicOf) property relates something to a document that is mainly about it.

The [isPrimaryTopicOf](#term%5FisPrimaryTopicOf) property is inverse functional: for any document that is the value of this property, there is at most one thing in the world that is the primary topic of that document. This is useful, as it allows for data merging, as described in the documentation for its inverse, [primaryTopic](#term%5FprimaryTopic).

[page](#term%5Fpage) is a super-property of [isPrimaryTopicOf](#term%5FisPrimaryTopicOf). The change of terminology between the two property names reflects the utility of 'primaryTopic' and its inverse when identifying things. Anything that has an isPrimaryTopicOf relation to some document X, also has a [page](#term%5Fpage) relationship to it.

Note that [homepage](#term%5Fhomepage), is a sub-property of both [page](#term%5Fpage) and [isPrimaryTopicOf](#term%5FisPrimaryTopicOf). The awkwardly named [isPrimaryTopicOf](#term%5FisPrimaryTopicOf) is less specific, and can be used with any document that is primarily about the thing of interest (ie. not just on homepages).

[#] [back to top]

Property: foaf:knows

knows - A person known by this person (indicating some level of reciprocated interaction between the parties).

Status: stable
Domain: having this property implies being a Person
Range: every value of this property is a Person

The [knows](#term%5Fknows) property relates a [Person](#term%5FPerson) to another [Person](#term%5FPerson) that he or she knows.

We take a broad view of 'knows', but do require some form of reciprocated interaction (ie. stalkers need not apply). Since social attitudes and conventions on this topic vary greatly between communities, counties and cultures, it is not appropriate for FOAF to be overly-specific here.

If someone [knows](#term%5Fknows) a person, it would be usual for the relation to be reciprocated. However this doesn't mean that there is any obligation for either party to publish FOAF describing this relationship. A [knows](#term%5Fknows)relationship does not imply friendship, endorsement, or that a face-to-face meeting has taken place: phone, fax, email, and smoke signals are all perfectly acceptable ways of communicating with people you know.

You probably know hundreds of people, yet might only list a few in your public FOAF file. That's OK. Or you might list them all. It is perfectly fine to have a FOAF file and not list anyone else in it at all. This illustrates the Semantic Web principle of partial description: RDF documents rarely describe the entire picture. There is always more to be said, more information living elsewhere in the Web (or in our heads...).

Since [knows](#term%5Fknows) is vague by design, it may be suprising that it has uses. Typically these involve combining other RDF properties. For example, an application might look at properties of each [weblog](#term%5Fweblog) that was [made](#term%5Fmade) by someone you "[knows](#term%5Fknows)". Or check the newsfeed of the online photo archive for each of these people, to show you recent photos taken by people you know.

To provide additional levels of representation beyond mere 'knows', FOAF applications can do several things.

They can use more precise relationships than [knows](#term%5Fknows) to relate people to people. The original FOAF design included two of these ('knowsWell','friend') which we removed because they were somewhat awkward to actually use, bringing an inappopriate air of precision to an intrinsically vague concept. Other extensions have been proposed, including Eric Vitiello's Relationship module for FOAF.

In addition to using more specialised inter-personal relationship types (eg rel:acquaintanceOf etc) it is often just as good to use RDF descriptions of the states of affairs which imply particular kinds of relationship. So for example, two people who have the same value for their [workplaceHomepage](#term%5FworkplaceHomepage) property are typically colleagues. We don't (currently) clutter FOAF up with these extra relationships, but the facts can be written in FOAF nevertheless. Similarly, if there exists a [Document](#term%5FDocument) that has two people listed as its [maker](#term%5Fmaker)s, then they are probably collaborators of some kind. Or if two people appear in 100s of digital photos together, there's a good chance they're friends and/or colleagues.

So FOAF is quite pluralistic in its approach to representing relationships between people. FOAF is built on top of a general purpose machine language for representing relationships (ie. RDF), so is quite capable of representing any kinds of relationship we care to add. The problems are generally social rather than technical; deciding on appropriate ways of describing these interconnections is a subtle art.

Perhaps the most important use of [knows](#term%5Fknows) is, alongside the rdfs:seeAlso property, to connect FOAF files together. Taken alone, a FOAF file is somewhat dull. But linked in with 1000s of other FOAF files it becomes more interesting, with each FOAF file saying a little more about people, places, documents, things... By mentioning other people (via [knows](#term%5Fknows) or other relationships), and by providing an rdfs:seeAlso link to their FOAF file, you can make it easy for FOAF indexing tools ('scutters') to find your FOAF and the FOAF of the people you've mentioned. And the FOAF of the people they mention, and so on. This makes it possible to build FOAF aggregators without the need for a centrally managed directory of FOAF files...

[#] [back to top]

Property: foaf:made

made - Something that was made by this agent.

Status: stable
Domain: having this property implies being a Agent
Range: every value of this property is a Thing

The [made](#term%5Fmade) property relates a [Agent](#term%5FAgent)to something [made](#term%5Fmade) by it. As such it is an inverse of the [maker](#term%5Fmaker) property, which relates a thing to something that made it. See [made](#term%5Fmade) for more details on the relationship between these FOAF terms and related Dublin Core vocabulary.

[#] [back to top]

Property: foaf:maker

maker - An agent that made this thing.

Status: stable
Domain: having this property implies being a Thing
Range: every value of this property is a Agent

The [maker](#term%5Fmaker) property relates something to a [Agent](#term%5FAgent) that [made](#term%5Fmade) it. As such it is an inverse of the [made](#term%5Fmade) property.

The [name](#term%5Fname) (or other rdfs:label) of the [maker](#term%5Fmaker) of something can be described as the dc:creator of that thing.

For example, if the thing named by the URI http://danbri.org/ has a [maker](#term%5Fmaker) that is a [Person](#term%5FPerson) whose [name](#term%5Fname) is 'Dan Brickley', we can conclude that http://danbri.org/ has a dc:creator of 'Dan Brickley'.

FOAF descriptions are encouraged to use dc:creator only for simple textual names, and to use [maker](#term%5Fmaker) to indicate creators, rather than risk confusing creators with their names. This follows most Dublin Core usage. See UsingDublinCoreCreatorfor details.

[#] [back to top]

Property: foaf:mbox

personal mailbox - A personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox. This is a 'static inverse functional property', in that there is (across time and change) at most one individual that ever has any particular value for foaf:mbox.

Status: stable
Domain: having this property implies being a Agent
Range: every value of this property is a Thing
Inverse Functional Property

The [mbox](#term%5Fmbox) property is a relationship between the owner of a mailbox and a mailbox. These are typically identified using the mailto: URI scheme (see RFC 2368).

Note that there are many mailboxes (eg. shared ones) which are not the [mbox](#term%5Fmbox) of anyone. Furthermore, a person can have multiple [mbox](#term%5Fmbox) properties.

In FOAF, we often see [mbox](#term%5Fmbox) used as an indirect way of identifying its owner. This works even if the mailbox is itself out of service (eg. 10 years old), since the property is defined in terms of its primary owner, and doesn't require the mailbox to actually be being used for anything.

Many people are wary of sharing information about their mailbox addresses in public. To address such concerns whilst continuing the FOAF convention of indirectly identifying people by referring to widely known properties, FOAF also provides the [mbox_sha1sum](#term%5Fmbox%5Fsha1sum) mechanism, which is a relationship between a person and the value you get from passing a mailbox URI to the SHA1 mathematical function.

[#] [back to top]

Property: foaf:member

member - Indicates a member of a Group

Status: stable
Domain: having this property implies being a Group
Range: every value of this property is a Agent

The [member](#term%5Fmember) property relates a [Group](#term%5FGroup) to a [Agent](#term%5FAgent) that is a member of that group.

See [Group](#term%5FGroup) for details and examples.

[#] [back to top]

Property: foaf:page

page - A page or document about this thing.

Status: stable
Domain: having this property implies being a Thing
Range: every value of this property is a Document

The [page](#term%5Fpage) property relates a thing to a document about that thing.

As such it is an inverse of the [topic](#term%5Ftopic) property, which relates a document to a thing that the document is about.

[#] [back to top]

Property: foaf:primaryTopic

primary topic - The primary topic of some page or document.

Status: stable
Domain: having this property implies being a Document
Range: every value of this property is a Thing
Functional Property

The [primaryTopic](#term%5FprimaryTopic) property relates a document to the main thing that the document is about.

The [primaryTopic](#term%5FprimaryTopic) property is functional: for any document it applies to, it can have at most one value. This is useful, as it allows for data merging. In many cases it may be difficult for third parties to determine the primary topic of a document, but in a useful number of cases (eg. descriptions of movies, restaurants, politicians, ...) it should be reasonably obvious. Documents are very often the most authoritative source of information about their own primary topics, although this cannot be guaranteed since documents cannot be assumed to be accurate, honest etc.

It is an inverse of the [isPrimaryTopicOf](#term%5FisPrimaryTopicOf) property, which relates a thing to a document primarily about that thing. The choice between these two properties is purely pragmatic. When describing documents, we use [primaryTopic](#term%5FprimaryTopic) former to point to the things they're about. When describing things (people etc.), it is useful to be able to directly cite documents which have those things as their main topic - so we use [isPrimaryTopicOf](#term%5FisPrimaryTopicOf). In this way, Web sites such as Wikipedia or NNDB can provide indirect identification for the things they have descriptions of.

[#] [back to top]

Property: foaf:weblog

weblog - A weblog of some thing (whether person, group, company etc.).

Status: stable
Domain: having this property implies being a Agent
Range: every value of this property is a Document
Inverse Functional Property

The [weblog](#term%5Fweblog) property relates a [Agent](#term%5FAgent) to a weblog of that agent.

[#] [back to top]

Property: foaf:account

account - Indicates an account held by this agent.

Status: testing
Domain: having this property implies being a Agent
Range: every value of this property is a Online Account

The [account](#term%5Faccount) property relates a [Agent](#term%5FAgent) to an [OnlineAccount](#term%5FOnlineAccount) for which they are the sole account holder. See [OnlineAccount](#term%5FOnlineAccount) for usage details.

[#] [back to top]

Property: foaf:accountName

account name - Indicates the name (identifier) associated with this online account.

Status: testing
Domain: having this property implies being a Online Account

The [accountName](#term%5FaccountName) property of a [OnlineAccount](#term%5FOnlineAccount) is a textual representation of the account name (unique ID) associated with that account.

[#] [back to top]

Property: foaf:accountServiceHomepage

account service homepage - Indicates a homepage of the service provide for this online account.

Status: testing
Domain: having this property implies being a Online Account
Range: every value of this property is a Document

The [accountServiceHomepage](#term%5FaccountServiceHomepage) property indicates a relationship between a [OnlineAccount](#term%5FOnlineAccount) and the homepage of the supporting service provider.

[#] [back to top]

Property: foaf:aimChatID

AIM chat ID - An AIM chat ID

Status: testing
Domain: having this property implies being a Agent
Inverse Functional Property

The [aimChatID](#term%5FaimChatID) property relates a [Agent](#term%5FAgent) to a textual identifier ('screenname') assigned to them in the AOL Instant Messanger (AIM) system. See AOL's AIM site for more details of AIM and AIM screennames. The iChat tools from Apple also make use of AIM identifiers.

See [OnlineChatAccount](#term%5FOnlineChatAccount) (and [OnlineAccount](#term%5FOnlineAccount)) for a more general (and verbose) mechanism for describing IM and chat accounts.

[#] [back to top]

Property: foaf:based_near

based near - A location that something is based near, for some broadly human notion of near.

Status: testing
Domain: having this property implies being a Spatial Thing
Range: every value of this property is a Spatial Thing

The [based_near](#term%5Fbased%5Fnear) relationship relates two "spatial things" (anything that can be somewhere), the latter typically described using the geo:lat / geo:longgeo-positioning vocabulary(See GeoInfo in the W3C semweb wiki for details). This allows us to say describe the typical latitute and longitude of, say, a Person (people are spatial things - they can be places) without implying that a precise location has been given.

We do not say much about what 'near' means in this context; it is a 'rough and ready' concept. For a more precise treatment, seeGeoOnion vocab design discussions, which are aiming to produce a more sophisticated vocabulary for such purposes.

FOAF files often make use of the contact:nearestAirport property. This illustrates the distinction between FOAF documents (which may make claims using any RDF vocabulary) and the core FOAF vocabulary defined by this specification. For further reading on the use of nearestAirport see UsingContactNearestAirport in the FOAF wiki.

[#] [back to top]

Property: foaf:currentProject

current project - A current project this person works on.

Status: testing
Domain: having this property implies being a Person
Range: every value of this property is a Thing

A [currentProject](#term%5FcurrentProject) relates a [Person](#term%5FPerson)to a [Document](#term%5FDocument) indicating some collaborative or individual undertaking. This relationship indicates that the [Person](#term%5FPerson) has some active role in the project, such as development, coordination, or support.

When a [Person](#term%5FPerson) is no longer involved with a project, or perhaps is inactive for some time, the relationship becomes a[pastProject](#term%5FpastProject).

If the [Person](#term%5FPerson) has stopped working on a project because it has been completed (successfully or otherwise), [pastProject](#term%5FpastProject) is applicable. In general, [currentProject](#term%5FcurrentProject) is used to indicate someone's current efforts (and implied interests, concerns etc.), while[pastProject](#term%5FpastProject) describes what they've previously been doing.

Note that this property requires further work. There has been confusion about whether it points to a thing (eg. something you've made; a homepage for a project, ie. a [Document](#term%5FDocument) or to instances of the class [Project](#term%5FProject), which might themselves have a [homepage](#term%5Fhomepage). In practice, it seems to have been used in a similar way to [interest](#term%5Finterest), referencing homepages of ongoing projects.

[#] [back to top]

Property: foaf:depiction

depiction - A depiction of some thing.

Status: testing
Domain: having this property implies being a Thing
Range: every value of this property is a Image

The [depiction](#term%5Fdepiction) property is a relationship between a thing and an [Image](#term%5FImage) that depicts it. As such it is an inverse of the[depicts](#term%5Fdepicts) relationship.

A common use of [depiction](#term%5Fdepiction) (and [depicts](#term%5Fdepicts)) is to indicate the contents of a digital image, for example the people or objects represented in an online photo gallery.

Extensions to this basic idea include 'Co-Depiction' (social networks as evidenced in photos), as well as richer photo metadata through the mechanism of using SVG paths to indicate the regions of an image which depict some particular thing. See 'Annotating Images With SVG'for tools and details.

The basic notion of 'depiction' could also be extended to deal with multimedia content (video clips, audio), or refined to deal with corner cases, such as pictures of pictures etc.

The [depiction](#term%5Fdepiction) property is a super-property of the more specific property [img](#term%5Fimg), which is used more sparingly. You stand in a [depiction](#term%5Fdepiction) relation to any [Image](#term%5FImage) that depicts you, whereas [img](#term%5Fimg) is typically used to indicate a few images that are particularly representative.

[#] [back to top]

Property: foaf:depicts

depicts - A thing depicted in this representation.

Status: testing
Domain: having this property implies being a Image
Range: every value of this property is a Thing

The [depicts](#term%5Fdepicts) property is a relationship between a [Image](#term%5FImage)and something that the image depicts. As such it is an inverse of the [depiction](#term%5Fdepiction) relationship. See [depiction](#term%5Fdepiction) for further notes.

[#] [back to top]

Property: foaf:familyName

familyName - The family name of some person.

Status: testing
Domain: having this property implies being a Person

The [familyName](#term%5FfamilyName) property is provided (alongside [givenName](#term%5FgivenName)) for use when describing parts of people's names. Although these concepts do not capture the full range of personal naming styles found world-wide, they are commonly used and have some value.

There is also a simple [name](#term%5Fname) property.

Support is also provided for the more archaic and culturally varying terminology of [firstName](#term%5FfirstName) and [lastName](#term%5FlastName).

See the issue tracker for design discussions, status and ongoing work on rationalising the FOAF naming machinery.

[#] [back to top]

Property: foaf:firstName

firstName - The first name of a person.

Status: testing
Domain: having this property implies being a Person

The [firstName](#term%5FfirstName) property is provided (alongside [lastName](#term%5FlastName)) as a mechanism to support legacy data that cannot be easily interpreted in terms of the (otherwise preferred) [familyName](#term%5FfamilyName) and [givenName](#term%5FgivenName) properties. The concepts of 'first' and 'last' names do not work well across cultural and linguistic boundaries; however they are widely used in addressbooks and databases.

See the issue tracker for design discussions, status and ongoing work on rationalising the FOAF naming machinery.

There is also a simple [name](#term%5Fname) property.

[#] [back to top]

Property: foaf:focus

focus - The underlying or 'focal' entity associated with some SKOS-described concept.

Status: testing
Domain: having this property implies being a Concept
Range: every value of this property is a Thing

The [focus](#term%5Ffocus) property relates a conceptualisation of something to the thing itself. Specifically, it is designed for use with W3C's SKOSvocabulary, to help indicate specific individual things (typically people, places, artifacts) that are mentioned in different SKOS schemes (eg. thesauri).

W3C SKOS is based around collections of linked 'concepts', which indicate topics, subject areas and categories. In SKOS, properties of a skos:Concept are properties of the conceptualization (see 2005 discussion for details); for example administrative and record-keeping metadata. Two schemes might have an entry for the same individual; the foaf:focus property can be used to indicate the thing in they world that they both focus on. Many SKOS concepts don't work this way; broad topical areas and subject categories don't typically correspond to some particular entity. However, in cases when they do, it is useful to link both subject-oriented and thing-oriented information via foaf:focus.

FOAF's focus property works alongside its other topic-oriented constructs: [topic](#term%5Ftopic), [primaryTopic](#term%5FprimaryTopic)are used when talking about the topical emphasis of a document. The notion of [primaryTopic](#term%5FprimaryTopic)is particularly important in FOAF as it provides an indirect mechanism for identifying things indirectly. A similar approach is explored by the TDB URI scheme. FOAF includes topic-oriented functionality to address its original goals of linking people to information, as well as to other people, through the use of linked information.

[#] [back to top]

Property: foaf:gender

gender - The gender of this Agent (typically but not necessarily 'male' or 'female').

Status: testing
Domain: having this property implies being a Agent
Functional Property

The [gender](#term%5Fgender) property relates a [Agent](#term%5FAgent) (typically a [Person](#term%5FPerson)) to a string representing its gender. In most cases the value will be the string 'female' or 'male' (in lowercase without surrounding quotes or spaces). Like all FOAF properties, there is in general no requirement to use [gender](#term%5Fgender) in any particular document or description. Values other than 'male' and 'female' may be used, but are not enumerated here. The [gender](#term%5Fgender)mechanism is not intended to capture the full variety of biological, social and sexual concepts associated with the word 'gender'.

Anything that has a [gender](#term%5Fgender) property will be some kind of [Agent](#term%5FAgent). However there are kinds of [Agent](#term%5FAgent) to which the concept of gender isn't applicable (eg. a [Group](#term%5FGroup)). FOAF does not currently include a class corresponding directly to "the type of thing that has a gender". At any point in time, a [Agent](#term%5FAgent) has at most one value for [gender](#term%5Fgender). FOAF does not treat [gender](#term%5Fgender) as a static property; the same individual may have different values for this property at different times.

Note that FOAF's notion of gender isn't defined biologically or anatomically - this would be tricky since we have a broad notion that applies to all [Agent](#term%5FAgent)s (including robots - eg. Bender from Futurama is 'male'). As stressed above, FOAF's notion of gender doesn't attempt to encompass the full range of concepts associated with human gender, biology and sexuality. As such it is a (perhaps awkward) compromise between the clinical and the social/psychological. In general, a person will be the best authority on their [gender](#term%5Fgender). Feedback on this design is particularly welcome (via the FOAF mailing list, foaf-dev). We have tried to be respectful of diversity without attempting to catalogue or enumerate that diversity.

This may also be a good point for a periodic reminder: as with all FOAF properties, documents that use '[gender](#term%5Fgender)' will on occassion be innacurate, misleading or outright false. FOAF, like all open means of communication, supports lying. Application authors using FOAF data should always be cautious in their presentation of unverified information, but be particularly sensitive to issues and risks surrounding sex and gender (including privacy and personal safety concerns). Designers of FOAF-based user interfaces should be careful to allow users to omit [gender](#term%5Fgender) when describing themselves and others, and to allow at least for values other than 'male' and 'female' as options. Users of information conveyed via FOAF (as via information conveyed through mobile phone text messages, email, Internet chat, HTML pages etc.) should be skeptical of unverified information.

[#] [back to top]

Property: foaf:givenName

Given name - The given name of some person.

Status: testing

The [givenName](#term%5FgivenName) property is provided (alongside [familyName](#term%5FfamilyName)) for use when describing parts of people's names. Although these concepts do not capture the full range of personal naming styles found world-wide, they are commonly used and have some value.

There is also a simple [name](#term%5Fname) property.

Support is also provided for the more archaic and culturally varying terminology of [firstName](#term%5FfirstName) and [lastName](#term%5FlastName).

See the issue tracker for design discussions, status and ongoing work on rationalising the FOAF naming machinery.

[#] [back to top]

Property: foaf:icqChatID

ICQ chat ID - An ICQ chat ID

Status: testing
Domain: having this property implies being a Agent
Inverse Functional Property

The [icqChatID](#term%5FicqChatID) property relates a [Agent](#term%5FAgent) to a textual identifier assigned to them in the ICQ Chat system. See the icq chat site for more details of the 'icq' service. Their "What is ICQ?" document provides a basic overview, while their "About Us page notes that ICQ has been acquired by AOL. Despite the relationship with AOL, ICQ is at the time of writing maintained as a separate identity from the AIM brand (see [aimChatID](#term%5FaimChatID)).

See [OnlineChatAccount](#term%5FOnlineChatAccount) (and [OnlineAccount](#term%5FOnlineAccount)) for a more general (and verbose) mechanism for describing IM and chat accounts.

[#] [back to top]

Property: foaf:img

image - An image that can be used to represent some thing (ie. those depictions which are particularly representative of something, eg. one's photo on a homepage).

Status: testing
Domain: having this property implies being a Person
Range: every value of this property is a Image

The [img](#term%5Fimg) property relates a [Person](#term%5FPerson) to a [Image](#term%5FImage) that represents them. Unlike its super-property [depiction](#term%5Fdepiction), we only use [img](#term%5Fimg) when an image is particularly representative of some person. The analogy is with the image(s) that might appear on someone's homepage, rather than happen to appear somewhere in their photo album.

Unlike the more general [depiction](#term%5Fdepiction) property (and its inverse, [depicts](#term%5Fdepicts)), the [img](#term%5Fimg) property is only used with representations of people (ie. instances of [Person](#term%5FPerson)). So you can't use it to find pictures of cats, dogs etc. The basic idea is to have a term whose use is more restricted than [depiction](#term%5Fdepiction) so we can have a useful way of picking out a reasonable image to represent someone. FOAF defines [img](#term%5Fimg) as a sub-property of [depiction](#term%5Fdepiction), which means that the latter relationship is implied whenever two things are related by the former.

Note that [img](#term%5Fimg) does not have any restrictions on the dimensions, colour depth, format etc of the [Image](#term%5FImage) it references.

Terminology: note that [img](#term%5Fimg) is a property (ie. relationship), and that code:Image is a similarly named class (ie. category, a type of thing). It might have been more helpful to call [img](#term%5Fimg) 'mugshot' or similar; instead it is named by analogy to the HTML IMG element.

[#] [back to top]

Property: foaf:interest

interest - A page about a topic of interest to this person.

Status: testing
Domain: having this property implies being a Agent
Range: every value of this property is a Document

The [interest](#term%5Finterest) property represents an interest of a [Agent](#term%5FAgent), through indicating a [Document](#term%5FDocument) whose [topic](#term%5Ftopic)(s) broadly characterises that interest.

For example, we might claim that a person or group has an interest in RDF by saying they stand in a [interest](#term%5Finterest) relationship to the RDF home page. Loosly, such RDF would be saying "this agent is interested in the topic of this page".

Uses of [interest](#term%5Finterest) include a variety of filtering and resource discovery applications. It could be used, for example, to help find answers to questions such as "Find me members of this organisation with an interest in XML who have also contributed to CPAN)".

This approach to characterising interests is intended to compliment other mechanisms (such as the use of controlled vocabulary). It allows us to use a widely known set of unique identifiers (Web page URIs) with minimal pre-coordination. Since URIs have a controlled syntax, this makes data merging much easier than the use of free-text characterisations of interest.

Note that interest does not imply expertise, and that this FOAF term provides no support for characterising levels of interest: passing fads and lifelong quests are both examples of someone's [interest](#term%5Finterest). Describing interests in full is a complex undertaking; [interest](#term%5Finterest) provides one basic component of FOAF's approach to these problems.

[#] [back to top]

Property: foaf:jabberID

jabber ID - A jabber ID for something.

Status: testing
Domain: having this property implies being a Agent
Inverse Functional Property

The [jabberID](#term%5FjabberID) property relates a [Agent](#term%5FAgent) to a textual identifier assigned to them in the Jabber messaging system. See the Jabber site for more information about the Jabber protocols and tools.

Jabber, unlike several other online messaging systems, is based on an open, publically documented protocol specification, and has a variety of open source implementations. Jabber IDs can be assigned to a variety of kinds of thing, including software 'bots', chat rooms etc. For the purposes of FOAF, these are all considered to be kinds of [Agent](#term%5FAgent) (ie. things that do stuff). The uses of Jabber go beyond simple IM chat applications. The [jabberID](#term%5FjabberID) property is provided as a basic hook to help support RDF description of Jabber users and services.

See [OnlineChatAccount](#term%5FOnlineChatAccount) (and [OnlineAccount](#term%5FOnlineAccount)) for a more general (and verbose) mechanism for describing IM and chat accounts.

[#] [back to top]

Property: foaf:lastName

lastName - The last name of a person.

Status: testing
Domain: having this property implies being a Person

The [lastName](#term%5FlastName) property is provided (alongside [firstName](#term%5FfirstName)) as a mechanism to support legacy data that cannot be easily interpreted in terms of the (otherwise preferred) [familyName](#term%5FfamilyName) and [givenName](#term%5FgivenName) properties. The concepts of 'first' and 'last' names do not work well across cultural and linguistic boundaries; however they are widely used in addressbooks and databases.

See the issue tracker for design discussions, status and ongoing work on rationalising the FOAF naming machinery.

There is also a simple [name](#term%5Fname) property.

[#] [back to top]

logo - A logo representing some thing.

Status: testing
Domain: having this property implies being a Thing
Range: every value of this property is a Thing
Inverse Functional Property

The [logo](#term%5Flogo) property is used to indicate a graphical logo of some kind. It is probably underspecified...

[#] [back to top]

Property: foaf:mbox_sha1sum

sha1sum of a personal mailbox URI name - The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the first owner of the mailbox.

Status: testing
Domain: having this property implies being a Agent
Inverse Functional Property

A [mbox_sha1sum](#term%5Fmbox%5Fsha1sum) of a [Person](#term%5FPerson) is a textual representation of the result of applying the SHA1 mathematical functional to a 'mailto:' identifier (URI) for an Internet mailbox that they stand in a [mbox](#term%5Fmbox) relationship to.

In other words, if you have a mailbox ([mbox](#term%5Fmbox)) but don't want to reveal its address, you can take that address and generate a [mbox_sha1sum](#term%5Fmbox%5Fsha1sum) representation of it. Just as a [mbox](#term%5Fmbox) can be used as an indirect identifier for its owner, we can do the same with [mbox_sha1sum](#term%5Fmbox%5Fsha1sum) since there is only one [Person](#term%5FPerson) with any particular value for that property.

Many FOAF tools use [mbox_sha1sum](#term%5Fmbox%5Fsha1sum) in preference to exposing mailbox information. This is usually for privacy and SPAM-avoidance reasons. Other relevant techniques include the use of PGP encryption (see Edd Dumbill's documentation) and the use of FOAF-based whitelists for mail filtering.

Code examples for SHA1 in C#, Java, PHP, Perl and Python can be found in Sam Ruby's weblog entry. Remember to include the 'mailto:' prefix, but no trailing whitespace, when computing a [mbox_sha1sum](#term%5Fmbox%5Fsha1sum) property.

[#] [back to top]

Property: foaf:msnChatID

MSN chat ID - An MSN chat ID

Status: testing
Domain: having this property implies being a Agent
Inverse Functional Property

The [msnChatID](#term%5FmsnChatID) property relates a [Agent](#term%5FAgent) to a textual identifier assigned to them in the Microsoft online chat system originally known as 'MSN', and now Windows Live Messenger. See the Microsoft mesenger and Windows Live ID sites for more details.

See [OnlineChatAccount](#term%5FOnlineChatAccount) (and [OnlineAccount](#term%5FOnlineAccount)) for a more general (and verbose) mechanism for describing IM and chat accounts.

[#] [back to top]

Property: foaf:myersBriggs

myersBriggs - A Myers Briggs (MBTI) personality classification.

Status: testing
Domain: having this property implies being a Person

The [myersBriggs](#term%5FmyersBriggs) property represents the Myers Briggs (MBTI) approach to personality taxonomy. It is included in FOAF as an example of a property that takes certain constrained values, and to give some additional detail to the FOAF files of those who choose to include it. The [myersBriggs](#term%5FmyersBriggs) property applies only to the [Person](#term%5FPerson) class; wherever you see it, you can infer it is being applied to a person.

The [myersBriggs](#term%5FmyersBriggs) property is interesting in that it illustrates how FOAF can serve as a carrier for various kinds of information, without necessarily being commited to any associated worldview. Not everyone will find myersBriggs (or star signs, or blood types, or the four humours) a useful perspective on human behaviour and personality. The inclusion of a Myers Briggs property doesn't indicate that FOAF endorses the underlying theory, any more than the existence of [weblog](#term%5Fweblog) is an endorsement of soapboxes.

The values for [myersBriggs](#term%5FmyersBriggs) are the following 16 4-letter textual codes: ESTJ, INFP, ESFP, INTJ, ESFJ, INTP, ENFP, ISTJ, ESTP, INFJ, ENFJ, ISTP, ENTJ, ISFP, ENTP, ISFJ. If multiple of these properties are applicable, they are represented by applying multiple properties to a person.

For further reading on MBTI, see various online sources (eg. this article). There are various online sites which offer quiz-based tools for determining a person's MBTI classification. The owners of the MBTI trademark have probably not approved of these.

This FOAF property suggests some interesting uses, some of which could perhaps be used to test the claims made by proponents of the MBTI (eg. an analysis of weblog postings filtered by MBTI type). However it should be noted that MBTI FOAF descriptions are self-selecting; MBTI categories may not be uniformly appealing to the people they describe. Further, there is probably a degree of cultural specificity implicit in the assumptions made by many questionaire-based MBTI tools; the MBTI system may not make sense in cultural settings beyond those it was created for.

See also Cory Caplinger's summary table or the RDFWeb article, FOAF Myers Briggs additionfor further background and examples.

Note: Myers Briggs Type Indicator and MBTI are registered trademarks of Consulting Psychologists Press Inc. Oxford Psycholgists Press Ltd has exclusive rights to the trademark in the UK.

[#] [back to top]

Property: foaf:name

name - A name for some thing.

Status: testing
Domain: having this property implies being a Thing

The [name](#term%5Fname) of something is a simple textual string.

XML language tagging may be used to indicate the language of the name. For example:

<foaf:name xml:lang="en">Dan Brickley</foaf:name>

FOAF provides some other naming constructs. While foaf:name does not explicitly represent name substructure (family vs given etc.) it does provide a basic level of interoperability. See the issue tracker for status of work on this issue.

The [name](#term%5Fname) property, like all RDF properties with a range of rdfs:Literal, may be used with XMLLiteral datatyped values (multiple [name](#term%5Fname)s are acceptable whether they are in the same langauge or not). XMLLiteral usage is not yet widely adopted. Feedback on this aspect of the FOAF design is particularly welcomed.

[#] [back to top]

Property: foaf:nick

nickname - A short informal nickname characterising an agent (includes login identifiers, IRC and other chat nicknames).

Status: testing

The [nick](#term%5Fnick) property relates a [Person](#term%5FPerson) to a short (often abbreviated) nickname, such as those use in IRC chat, online accounts, and computer logins.

This property is necessarily vague, because it does not indicate any particular naming control authority, and so cannot distinguish a person's login from their (possibly various) IRC nicknames or other similar identifiers. However it has some utility, since many people use the same string (or slight variants) across a variety of such environments.

For specific controlled sets of names (relating primarily to Instant Messanger accounts), FOAF provides some convenience properties: [jabberID](#term%5FjabberID), [aimChatID](#term%5FaimChatID), [msnChatID](#term%5FmsnChatID) and [icqChatID](#term%5FicqChatID). Beyond this, the problem of representing such accounts is not peculiar to Instant Messanging, and it is not scaleable to attempt to enumerate each naming database as a distinct FOAF property. The [OnlineAccount](#term%5FOnlineAccount) term (and supporting vocabulary) are provided as a more verbose and more expressive generalisation of these properties.

[#] [back to top]

Property: foaf:openid

openid - An OpenID for an Agent.

Status: testing
Domain: having this property implies being a Agent
Range: every value of this property is a Document
Inverse Functional Property

A [openid](#term%5Fopenid) is a property of a [Agent](#term%5FAgent) that associates it with a document that can be used as an indirect identifier in the manner of the OpenID "Identity URL". As the OpenID 1.1 specification notes, OpenID itself"does not provide any mechanism to exchange profile information, though Consumers of an Identity can learn more about an End User from any public, semantically interesting documents linked thereunder (FOAF, RSS, Atom, vCARD, etc.)". In this way, FOAF and OpenID complement each other; neither provides a stand-alone approach to online "trust", but combined they can address interesting parts of this larger problem space.

The [openid](#term%5Fopenid) property is "inverse functional", meaning that anything that is the foaf:openid of something, is the [openid](#term%5Fopenid) of no more than one thing. FOAF is agnostic as to whether there are (according to the relevant OpenID specifications) OpenID URIs that are equally associated with multiple Agents. FOAF offers sub-classes of Agent, ie. [Organization](#term%5FOrganization) and [Group](#term%5FGroup), that allow for such scenarios to be consistent with the notion that any foaf:openid is the foaf:openid of just one [Agent](#term%5FAgent).

FOAF does not mandate any particular URI scheme for use as [openid](#term%5Fopenid) values. The OpenID 1.1 specification includes a delegation model that is often used to allow a weblog or homepage document to also serve in OpenID authentication via "link rel" HTML markup. This deployment model provides a convenient connection to FOAF, since a similar technique is used for FOAF autodiscovery in HTML. A single document can, for example, serve both as a homepage and an OpenID identity URL.

[#] [back to top]

Property: foaf:pastProject

past project - A project this person has previously worked on.

Status: testing
Domain: having this property implies being a Person
Range: every value of this property is a Thing

After a [Person](#term%5FPerson) is no longer involved with a[currentProject](#term%5FcurrentProject), or has been inactive for some time, a[pastProject](#term%5FpastProject) relationship can be used. This indicates that the [Person](#term%5FPerson) was involved with the described project at one point.

If the [Person](#term%5FPerson) has stopped working on a project because it has been completed (successfully or otherwise), [pastProject](#term%5FpastProject) is applicable. In general, [currentProject](#term%5FcurrentProject) is used to indicate someone's current efforts (and implied interests, concerns etc.), while [pastProject](#term%5FpastProject) describes what they've previously been doing.

[#] [back to top]

Property: foaf:phone

phone - A phone, specified using fully qualified tel: URI scheme (refs: http://www.w3.org/Addressing/schemes.html#tel).

Status: testing

The [phone](#term%5Fphone) of something is a phone, typically identified using the tel: URI scheme.

[#] [back to top]

Property: foaf:plan

plan - A .plan comment, in the tradition of finger and '.plan' files.

Status: testing
Domain: having this property implies being a Person

The [plan](#term%5Fplan) property provides a space for a[Person](#term%5FPerson) to hold some arbitrary content that would appear in a traditional '.plan' file. The plan file was stored in a user's home directory on a UNIX machine, and displayed to people when the user was queried with the finger utility.

A plan file could contain anything. Typical uses included brief comments, thoughts, or remarks on what a person had been doing lately. Plan files were also prone to being witty or simply osbscure. Others may be more creative, writing any number of seemingly random compositions in their plan file for people to stumble upon.

See History of the Finger Protocol by Rajiv Shah for more on this piece of Internet history. The [geekcode](#term%5Fgeekcode) property may also be of interest.

[#] [back to top]

Property: foaf:publications

publications - A link to the publications of this person.

Status: testing
Domain: having this property implies being a Person
Range: every value of this property is a Document

The [publications](#term%5Fpublications) property indicates a [Document](#term%5FDocument)listing (primarily in human-readable form) some publications associated with the [Person](#term%5FPerson). Such documents are typically published alongside one's [homepage](#term%5Fhomepage).

[#] [back to top]

Property: foaf:schoolHomepage

schoolHomepage - A homepage of a school attended by the person.

Status: testing
Domain: having this property implies being a Person
Range: every value of this property is a Document

The schoolHomepage property relates a [Person](#term%5FPerson) to a [Document](#term%5FDocument) that is the [homepage](#term%5Fhomepage) of a School that the person attended.

FOAF does not (currently) define a class for 'School' (if it did, it would probably be as a sub-class of [Organization](#term%5FOrganization)). The original application area for [schoolHomepage](#term%5FschoolHomepage) was for 'schools' in the British-English sense; however American-English usage has dominated, and it is now perfectly reasonable to describe Universities, Colleges and post-graduate study using [schoolHomepage](#term%5FschoolHomepage).

This very basic facility provides a basis for a low-cost, decentralised approach to classmate-reunion and suchlike. Instead of requiring a central database, we can use FOAF to express claims such as 'I studied here' simply by mentioning a school's homepage within FOAF files. Given the homepage of a school, it is easy for FOAF aggregators to lookup this property in search of people who attended that school.

[#] [back to top]

Property: foaf:skypeID

Skype ID - A Skype ID

Status: testing
Domain: having this property implies being a Agent

The [skype](#term%5Fskype) property relates a [Agent](#term%5FAgent) to an account name of a Skype account of theirs.

See [OnlineChatAccount](#term%5FOnlineChatAccount) (and [OnlineAccount](#term%5FOnlineAccount)) for a more general (and verbose) mechanism for describing IM and chat accounts.

[#] [back to top]

Property: foaf:thumbnail

thumbnail - A derived thumbnail image.

Status: testing
Domain: having this property implies being a Image
Range: every value of this property is a Image

The [thumbnail](#term%5Fthumbnail) property is a relationship between a full-size [Image](#term%5FImage) and a smaller, representative [Image](#term%5FImage)that has been derrived from it.

It is typical in FOAF to express [img](#term%5Fimg) and [depiction](#term%5Fdepiction)relationships in terms of the larger, 'main' (in some sense) image, rather than its thumbnail(s). A [thumbnail](#term%5Fthumbnail) might be clipped or otherwise reduced such that it does not depict everything that the full image depicts. Therefore FOAF does not specify that a thumbnail [depicts](#term%5Fdepicts) everything that the image it is derrived from depicts. However, FOAF does expect that anything depicted in the thumbnail will also be depicted in the source image.

A [thumbnail](#term%5Fthumbnail) is typically small enough that it can be loaded and viewed quickly before a viewer decides to download the larger version. They are often used in online photo gallery applications.

[#] [back to top]

Property: foaf:tipjar

tipjar - A tipjar document for this agent, describing means for payment and reward.

Status: testing
Domain: having this property implies being a Agent
Range: every value of this property is a Document

The [tipjar](#term%5Ftipjar) property relates an [Agent](#term%5FAgent)to a [Document](#term%5FDocument) that describes some mechanisms for paying or otherwise rewarding that agent.

The [tipjar](#term%5Ftipjar) property was created following discussionsabout simple, lightweight mechanisms that could be used to encourage rewards and payment for content exchanged online. An agent's[tipjar](#term%5Ftipjar) page(s) could describe informal ("Send me a postcard!", "here's my book, music and movie wishlist") or formal (machine-readable micropayment information) information about how that agent can be paid or rewarded. The reward is not associated with any particular action or content from the agent concerned. A link to a service such as PayPal is the sort of thing we might expect to find in a tipjar document.

Note that the value of a [tipjar](#term%5Ftipjar) property is just a document (which can include anchors into HTML pages). We expect, but do not currently specify, that this will evolve into a hook for finding more machine-readable information to support payments, rewards. The [OnlineAccount](#term%5FOnlineAccount) machinery is also relevant, although the information requirements for automating payments are not currently clear.

[#] [back to top]

Property: foaf:title

title - Title (Mr, Mrs, Ms, Dr. etc)

Status: testing

This property is a candidate for deprecation in favour of 'honorificPrefix' following Portable Contacts usage. See the FOAF Issue Tracker.

The approriate values for [title](#term%5Ftitle) are not formally constrained, and will vary across community and context. Values such as 'Mr', 'Mrs', 'Ms', 'Dr' etc. are expected.

[#] [back to top]

Property: foaf:topic

topic - A topic of some page or document.

Status: testing
Domain: having this property implies being a Document
Range: every value of this property is a Thing

The [topic](#term%5Ftopic) property relates a document to a thing that the document is about.

As such it is an inverse of the [page](#term%5Fpage) property, which relates a thing to a document about that thing.

[#] [back to top]

Property: foaf:topic_interest

topic_interest - A thing of interest to this person.

Status: testing
Domain: having this property implies being a Agent
Range: every value of this property is a Thing

The [topic_interest](#term%5Ftopic%5Finterest) property links a [Agent](#term%5FAgent) to a thing that they're interested in. Unlike [topic](#term%5Ftopic) it is not indirected through a document, but links the thing directly.

[#] [back to top]

Property: foaf:workInfoHomepage

work info homepage - A work info homepage of some person; a page about their work for some organization.

Status: testing
Domain: having this property implies being a Person
Range: every value of this property is a Document

The [workInfoHomepage](#term%5FworkInfoHomepage) of a [Person](#term%5FPerson) is a [Document](#term%5FDocument) that describes their work. It is generally (but not necessarily) a different document from their [homepage](#term%5Fhomepage), and from any [workplaceHomepage](#term%5FworkplaceHomepage)(s) they may have.

The purpose of this property is to distinguish those pages you often see, which describe someone's professional role within an organisation or project. These aren't really homepages, although they share some characterstics.

[#] [back to top]

Property: foaf:workplaceHomepage

workplace homepage - A workplace homepage of some person; the homepage of an organization they work for.

Status: testing
Domain: having this property implies being a Person
Range: every value of this property is a Document

The [workplaceHomepage](#term%5FworkplaceHomepage) of a [Person](#term%5FPerson) is a [Document](#term%5FDocument) that is the [homepage](#term%5Fhomepage) of a [Organization](#term%5FOrganization) that they work for.

By directly relating people to the homepages of their workplace, we have a simple convention that takes advantage of a set of widely known identifiers, while taking care not to confuse the things those identifiers identify (ie. organizational homepages) with the actual organizations those homepages describe.

For example, Dan Brickley works at W3C. Dan is a [Person](#term%5FPerson) with a [homepage](#term%5Fhomepage) of http://danbri.org/; W3C is a [Organization](#term%5FOrganization) with a [homepage](#term%5Fhomepage) of http://www.w3.org/. This allows us to say that Dan has a [workplaceHomepage](#term%5FworkplaceHomepage) of http://www.w3.org/.

foaf:Person foaf:nameDan Brickley <foaf:workplaceHomepage rdf:resource="" title="undefined" rel="noopener noreferrer">http://www.w3.org/"/>

Note that several other FOAF properties work this way; [schoolHomepage](#term%5FschoolHomepage) is the most similar. In general, FOAF often indirectly identifies things via Web page identifiers where possible, since these identifiers are widely used and known. FOAF does not currently have a term for the name of the relation (eg. "workplace") that holds between a [Person](#term%5FPerson) and an [Organization](#term%5FOrganization) that they work for.

[#] [back to top]

Property: foaf:yahooChatID

Yahoo chat ID - A Yahoo chat ID

Status: testing
Domain: having this property implies being a Agent
Inverse Functional Property

The [yahooChatID](#term%5FyahooChatID) property relates a [Agent](#term%5FAgent) to a textual identifier assigned to them in the Yahoo online Chat system. See Yahoo's the Yahoo! Chat site for more details of their service. Yahoo chat IDs are also used across several other Yahoo services, including email and Yahoo! Groups.

See [OnlineChatAccount](#term%5FOnlineChatAccount) (and [OnlineAccount](#term%5FOnlineAccount)) for a more general (and verbose) mechanism for describing IM and chat accounts.

[#] [back to top]

Property: foaf:age

age - The age in years of some agent.

Status: unstable
Domain: having this property implies being a Agent
Functional Property

The [age](#term%5Fage) property is a relationship between a [Agent](#term%5FAgent)and an integer string representing their age in years. See also [birthday](#term%5Fbirthday).

[#] [back to top]

Property: foaf:birthday

birthday - The birthday of this Agent, represented in mm-dd string form, eg. '12-31'.

Status: unstable
Domain: having this property implies being a Agent
Functional Property

The [birthday](#term%5Fbirthday) property is a relationship between a [Agent](#term%5FAgent)and a string representing the month and day in which they were born (Gregorian calendar). See BirthdayIssue for details of related properties that can be used to describe such things in more flexible ways.

See also [age](#term%5Fage).

[#] [back to top]

Property: foaf:membershipClass

membershipClass - Indicates the class of individuals that are a member of a Group

Status: unstable

The [membershipClass](#term%5FmembershipClass) property relates a [Group](#term%5FGroup) to an RDF class representing a sub-class of [Agent](#term%5FAgent) whose instances are all the agents that are a [member](#term%5Fmember) of the [Group](#term%5FGroup).

See [Group](#term%5FGroup) for details and examples.

[#] [back to top]

Property: foaf:sha1

sha1sum (hex) - A sha1sum hash, in hex.

Status: unstable
Domain: having this property implies being a Document

The [sha1](#term%5Fsha1) property relates a [Document](#term%5FDocument) to the textual form of a SHA1 hash of (some representation of) its contents.

The design for this property is neither complete nor coherent. The [Document](#term%5FDocument)class is currently used in a way that allows multiple instances at different URIs to have the 'same' contents (and hence hash). If [sha1](#term%5Fsha1) is an owl:InverseFunctionalProperty, we could deduce that several such documents were the self-same thing. A more careful design is needed, which distinguishes documents in a broad sense from byte sequences.

[#] [back to top]

Property: foaf:status

status - A string expressing what the user is happy for the general public (normally) to know about their current activity.

Status: unstable
Domain: having this property implies being a Agent

[status](#term%5Fstatus) is a short textual string expressing what the user is happy for the general public (normally) to know about their current activity. mood, location, etc.

[#] [back to top]

Property: foaf:dnaChecksum

DNA checksum - A checksum for the DNA of some thing. Joke.

Status: archaic

The [dnaChecksum](#term%5FdnaChecksum) property is mostly a joke, but also a reminder that there will be lots of different identifying properties for people, some of which we might find disturbing.

[#] [back to top]

Property: foaf:family_name

family_name - The family name of some person.

Status: archaic
Domain: having this property implies being a Person

This property is considered an archaic spelling of [familyName](#term%5FfamilyName).

[#] [back to top]

Property: foaf:fundedBy

funded by - An organization funding a project or person.

Status: archaic
Domain: having this property implies being a Thing
Range: every value of this property is a Thing

The [fundedBy](#term%5FfundedBy) property relates something to something else that has provided funding for it.

This property is tentatively considered archaic usage, unless we hear about positive implementation experience.

[#] [back to top]

Property: foaf:geekcode

geekcode - A textual geekcode for this person, see http://www.geekcode.com/geek.html

Status: archaic
Domain: having this property implies being a Person

The [geekcode](#term%5Fgeekcode) property is used to represent a 'Geek Code' for some [Person](#term%5FPerson).

See the Wikipedia entry for details of the code, which provides a somewhat frivolous and willfully obscure mechanism for characterising technical expertise, interests and habits. The [geekcode](#term%5Fgeekcode)property is not bound to any particular version of the code.

[#] [back to top]

Property: foaf:givenname

Given name - The given name of some person.

Status: archaic

The [givenName](#term%5FgivenName) property is provided (alongside [familyName](#term%5FfamilyName)) for use when describing parts of people's names. Although these concepts do not capture the full range of personal naming styles found world-wide, they are commonly used and have some value.

There is also a simple [name](#term%5Fname) property.

Support is also provided for the more archaic and culturally varying terminology of [firstName](#term%5FfirstName) and [lastName](#term%5FlastName).

See the issue tracker for design discussions, status and ongoing work on rationalising the FOAF naming machinery.

[#] [back to top]

Property: foaf:holdsAccount

account - Indicates an account held by this agent.

Status: archaic
Domain: having this property implies being a Agent
Range: every value of this property is a Online Account

This property is considered archaic usage. It is generally better to use [account](#term%5Faccount) instead.

The [holdsAccount](#term%5FholdsAccount) property relates a [Agent](#term%5FAgent) to an [OnlineAccount](#term%5FOnlineAccount) for which they are the sole account holder. See [OnlineAccount](#term%5FOnlineAccount) for usage details.

This property is equivalent to the [account](#term%5Faccount) property, which was introduced primarily to provide simpler naming for the same idea.

[#] [back to top]

Property: foaf:surname

Surname - The surname of some person.

Status: archaic
Domain: having this property implies being a Person

A number of naming constructs are under development to provide naming substructure; draft properties include [firstName](#term%5FfirstName),[givenName](#term%5FgivenName), and [surname](#term%5Fsurname). These are not currently stable or consistent; see the issue tracker for design discussions, status and ongoing work on rationalising the FOAF naming machinery.

There is also a simple [name](#term%5Fname) property.

[#] [back to top]

Property: foaf:theme

theme - A theme.

Status: archaic
Domain: having this property implies being a Thing
Range: every value of this property is a Thing

This property is considered archaic usage, and is not currently recommended for usage.

The [theme](#term%5Ftheme) property is rarely used and under-specified. The intention was to use it to characterise interest / themes associated with projects and groups. Further work is needed to meet these goals.

[#] [back to top]