Copyright © 2005 Ian Jacobi
This work is licensed under a Creative Commons License. This copyright applies to the FOAF-Persona Vocabulary Specification and accompanying documentation and does not apply to related RDF data formats, vocabulary terms, or technology. Regarding underlying technology, FOAF-Persona relies heavily on W3C's RDF technology, and the FOAF Vocabulary Specification, both open Web standards that can be freely used by anyone.
The FOAF-Persona schema is designed to allow for indicating the existence of, and relationships between, personas and persons.
An RDF Schema is located here.
http://www.pipian.com/schemas/foaf/persona#
A persona is a representation of a person's identity in a given context, typically different enough from other contexts to justify calling it a separate identity. The Persona class is, as a subclass of foaf:Person, essentially identical to it in usage, though it it carries with it the interpretation of not being the actual identity of a person. As a result, the foaf:PersonalProfileDocument class should not have an foaf:maker property that references an instance of the Persona class.
For example, here is a fragment of an foaf file that might contain metadata on a Persona, together with a foaf:PersonalProfileDocument class.
<foaf:Person rdf:nodeID="p1"> <foaf:name>Clark Kent</foaf:name> <rdfs:seeAlso rdf:reference="clarkkent.rdf"/> </foaf:Person> <persona:Persona rdf:nodeID="p2"> <foaf:name>Superman</foaf:name> <!-- etc... --> </persona:Persona> <foaf:PersonalProfileDocument rdf:about=""> <foaf:maker rdf:nodeID="p1"/> <foaf:primaryTopic rdf:nodeID="p2"/> </foaf:Person>
Naturally, the choice of what makes up a persona and a real person is up to the choice of the FOAF writer.
The hasPersona property is a representation of a person having a particular Persona. It is to be used essentially identically to the foaf:knows property, having been derived from it, though it is more accurate.
For example, here is a fragment of an foaf file that might contain metadata on a Person, linking to his Personas.
<foaf:Person> <foaf:name>Clark Kent</foaf:name> <!-- etc... --> <persona:hasPersona> <persona:Persona> <foaf:name>Superman</foaf:name> <rdfs:seeAlso rdf:resource="superman.rdf"/> </persona:Persona> </persona:hasPersona> </foaf:Person>
The isPersonaOf property is the inverse of the hasPersona property. It is to be used essentially identically to the foaf:knows property, having been derived from it, though it is more accurate.
For example, here is a fragment of an foaf file that might contain metadata on a Persona, linking to his Person.
<foaf:Person> <foaf:name>Superman</foaf:name> <!-- etc... --> <persona:isPersonaOf> <foaf:Person> <foaf:name>Clark Kent</foaf:name> <rdfs:seeAlso rdf:resource="clarkkent.rdf"/> </foaf:Person> </persona:isPersonaOf> </foaf:Person>
Note that while the range of the hasPersona property must be a Persona, the domain of isPersonaOf need not be a Persona. This allows for a person to keep the Persona in relative precedence, by using a foaf:Person class to describe it.