@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:  <http://www.w3.org/2002/07/owl#> .
@prefix vs:  <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .
@prefix wot:  <http://xmlns.com/wot/0.1/> .
@prefix dc:  <http://purl.org/dc/elements/1.1/> .

foaf:   rdf:type        owl:Ontology ;
        dc:title        "Friend of a Friend (FOAF) vocabulary" ;
        dc:description  "The Friend of a Friend (FOAF) RDF vocabulary, described using W3C RDF Schema and the Web Ontology Language." .

wot:assurance  rdf:type  owl:AnnotationProperty .

wot:src_assurance  rdf:type  owl:AnnotationProperty .

vs:term_status  rdf:type  owl:AnnotationProperty .

dc:description  rdf:type  owl:AnnotationProperty .

dc:title  rdf:type  owl:AnnotationProperty .

dc:date  rdf:type  owl:AnnotationProperty .

rdfs:Class  rdf:type  owl:Class .

foaf:LabelProperty  rdf:type  rdfs:Class ;
        vs:term_status    "unstable" ;
        rdfs:label        "Label Property" ;
        rdfs:comment      "A foaf:LabelProperty is any RDF property with texual values that serve as labels." ;
        rdf:type          owl:Class ;
        rdfs:isDefinedBy  foaf: .

foaf:Person  rdf:type        rdfs:Class ;
        rdfs:label           "Person" ;
        rdfs:comment         "A person." ;
        vs:term_status       "stable" ;
        rdf:type             owl:Class ;
        owl:equivalentClass  <http://schema.org/Person> ;
        owl:equivalentClass  <http://www.w3.org/2000/10/swap/pim/contact#Person> .

foaf:Agent  rdf:type  owl:Class .

foaf:Person  rdfs:subClassOf  foaf:Agent .

<http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing>
        rdf:type    owl:Class ;
        rdfs:label  "Spatial Thing" .

foaf:Person  rdfs:subClassOf  <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
        rdfs:isDefinedBy  foaf: ;
        owl:disjointWith  foaf:Organization ;
        owl:disjointWith  foaf:Project .

foaf:Document  rdf:type      rdfs:Class ;
        rdfs:label           "Document" ;
        rdfs:comment         "A document." ;
        vs:term_status       "stable" ;
        rdf:type             owl:Class ;
        owl:equivalentClass  <http://schema.org/CreativeWork> ;
        rdfs:isDefinedBy     foaf: ;
        owl:disjointWith     foaf:Organization ;
        owl:disjointWith     foaf:Project .

foaf:Organization  rdf:type  rdfs:Class ;
        rdfs:label        "Organization" ;
        rdfs:comment      "An organization." ;
        vs:term_status    "stable" ;
        rdf:type          owl:Class ;
        rdfs:subClassOf   foaf:Agent ;
        rdfs:isDefinedBy  foaf: ;
        owl:disjointWith  foaf:Person ;
        owl:disjointWith  foaf:Document .

foaf:Group  rdf:type     rdfs:Class ;
        vs:term_status   "stable" ;
        rdfs:label       "Group" ;
        rdfs:comment     "A class of Agents." ;
        rdf:type         owl:Class ;
        rdfs:subClassOf  foaf:Agent .

foaf:Agent  rdf:type         rdfs:Class ;
        vs:term_status       "stable" ;
        rdfs:label           "Agent" ;
        rdfs:comment         "An agent (eg. person, group, software or physical artifact)." ;
        rdf:type             owl:Class ;
        owl:equivalentClass  <http://purl.org/dc/terms/Agent> .

foaf:Project  rdf:type    rdfs:Class ;
        vs:term_status    "testing" ;
        rdfs:label        "Project" ;
        rdfs:comment      "A project (a collective endeavour of some kind)." ;
        rdf:type          owl:Class ;
        rdfs:isDefinedBy  foaf: ;
        owl:disjointWith  foaf:Person ;
        owl:disjointWith  foaf:Document .

foaf:Image  rdf:type         rdfs:Class ;
        vs:term_status       "stable" ;
        rdfs:label           "Image" ;
        rdfs:comment         "An image." ;
        rdf:type             owl:Class ;
        owl:equivalentClass  <http://schema.org/ImageObject> .

foaf:Document  rdf:type  owl:Class .

foaf:Image  rdfs:subClassOf  foaf:Document ;
        rdfs:isDefinedBy  foaf: .

foaf:PersonalProfileDocument
        rdf:type         rdfs:Class ;
        rdfs:label       "PersonalProfileDocument" ;
        rdfs:comment     "A personal profile RDF document." ;
        vs:term_status   "testing" ;
        rdf:type         owl:Class ;
        rdfs:subClassOf  foaf:Document .

foaf:OnlineAccount  rdf:type  rdfs:Class ;
        vs:term_status    "testing" ;
        rdfs:label        "Online Account" ;
        rdfs:comment      "An online account." ;
        rdf:type          owl:Class ;
        rdfs:isDefinedBy  foaf: .

owl:Thing  rdfs:label  "Thing" .

foaf:OnlineAccount  rdfs:subClassOf  owl:Thing .

foaf:OnlineGamingAccount
        rdf:type          rdfs:Class ;
        vs:term_status    "unstable" ;
        rdfs:label        "Online Gaming Account" ;
        rdfs:comment      "An online gaming account." ;
        rdf:type          owl:Class ;
        rdfs:subClassOf   foaf:OnlineAccount ;
        rdfs:isDefinedBy  foaf: .

foaf:OnlineEcommerceAccount
        rdf:type          rdfs:Class ;
        vs:term_status    "unstable" ;
        rdfs:label        "Online E-commerce Account" ;
        rdfs:comment      "An online e-commerce account." ;
        rdf:type          owl:Class ;
        rdfs:subClassOf   foaf:OnlineAccount ;
        rdfs:isDefinedBy  foaf: .

foaf:OnlineChatAccount
        rdf:type          rdfs:Class ;
        vs:term_status    "unstable" ;
        rdfs:label        "Online Chat Account" ;
        rdfs:comment      "An online chat account." ;
        rdf:type          owl:Class ;
        rdfs:subClassOf   foaf:OnlineAccount ;
        rdfs:isDefinedBy  foaf: .

foaf:mbox  rdf:type       rdf:Property ;
        vs:term_status    "stable" ;
        rdfs:label        "personal mailbox" ;
        rdfs:comment      "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." ;
        rdf:type          owl:InverseFunctionalProperty ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        owl:Thing ;
        rdfs:isDefinedBy  foaf: .

foaf:mbox_sha1sum  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "sha1sum of a personal mailbox URI name" ;
        rdfs:comment      "The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the  first owner of the mailbox." ;
        rdf:type          owl:InverseFunctionalProperty ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:gender  rdf:type     rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "gender" ;
        rdfs:comment      "The gender of this Agent (typically but not necessarily 'male' or 'female')." ;
        rdf:type          owl:FunctionalProperty ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:geekcode  rdf:type   rdf:Property ;
        vs:term_status    "archaic" ;
        rdfs:label        "geekcode" ;
        rdfs:comment      "A textual geekcode for this person, see http://www.geekcode.com/geek.html" ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:dnaChecksum  rdf:type  rdf:Property ;
        vs:term_status    "archaic" ;
        rdfs:label        "DNA checksum" ;
        rdfs:comment      "A checksum for the DNA of some thing. Joke." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:isDefinedBy  foaf: ;
        rdfs:range        rdfs:Literal .

foaf:sha1  rdf:type       rdf:Property ;
        vs:term_status    "unstable" ;
        rdfs:label        "sha1sum (hex)" ;
        rdfs:comment      "A sha1sum hash, in hex." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Document ;
        rdfs:isDefinedBy  foaf: .

foaf:based_near  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "based near" ;
        rdfs:comment      "A location that something is based near, for some broadly human notion of near." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
        rdfs:range        <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
        rdfs:isDefinedBy  foaf: .

foaf:title  rdf:type      rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "title" ;
        rdfs:comment      "Title (Mr, Mrs, Ms, Dr. etc)" ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:isDefinedBy  foaf: .

foaf:nick  rdf:type       rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "nickname" ;
        rdfs:comment      "A short informal nickname characterising an agent (includes login identifiers, IRC and other chat nicknames)." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:isDefinedBy  foaf: .

foaf:jabberID  rdf:type   rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "jabber ID" ;
        rdfs:comment      "A jabber ID for something." ;
        rdfs:isDefinedBy  foaf: ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        rdfs:Literal ;
        rdf:type          owl:DatatypeProperty ;
        rdf:type          owl:InverseFunctionalProperty .

foaf:aimChatID  rdf:type    rdf:Property ;
        vs:term_status      "testing" ;
        rdfs:label          "AIM chat ID" ;
        rdfs:comment        "An AIM chat ID" ;
        rdf:type            owl:DatatypeProperty ;
        rdfs:isDefinedBy    foaf: ;
        rdfs:subPropertyOf  foaf:nick ;
        rdfs:domain         foaf:Agent ;
        rdfs:range          rdfs:Literal ;
        rdf:type            owl:InverseFunctionalProperty .

foaf:skypeID  rdf:type      rdf:Property ;
        vs:term_status      "testing" ;
        rdfs:label          "Skype ID" ;
        rdfs:comment        "A Skype ID" ;
        rdf:type            owl:DatatypeProperty ;
        rdfs:isDefinedBy    foaf: ;
        rdfs:subPropertyOf  foaf:nick ;
        rdfs:domain         foaf:Agent ;
        rdfs:range          rdfs:Literal .

foaf:icqChatID  rdf:type    rdf:Property ;
        vs:term_status      "testing" ;
        rdfs:label          "ICQ chat ID" ;
        rdfs:comment        "An ICQ chat ID" ;
        rdf:type            owl:DatatypeProperty ;
        rdfs:isDefinedBy    foaf: ;
        rdfs:subPropertyOf  foaf:nick ;
        rdfs:domain         foaf:Agent ;
        rdfs:range          rdfs:Literal ;
        rdf:type            owl:InverseFunctionalProperty .

foaf:yahooChatID  rdf:type  rdf:Property ;
        vs:term_status      "testing" ;
        rdfs:label          "Yahoo chat ID" ;
        rdfs:comment        "A Yahoo chat ID" ;
        rdf:type            owl:DatatypeProperty ;
        rdfs:isDefinedBy    foaf: ;
        rdfs:subPropertyOf  foaf:nick ;
        rdfs:domain         foaf:Agent ;
        rdfs:range          rdfs:Literal ;
        rdf:type            owl:InverseFunctionalProperty .

foaf:msnChatID  rdf:type    rdf:Property ;
        vs:term_status      "testing" ;
        rdfs:label          "MSN chat ID" ;
        rdfs:comment        "An MSN chat ID" ;
        rdf:type            owl:DatatypeProperty ;
        rdfs:isDefinedBy    foaf: ;
        rdfs:subPropertyOf  foaf:nick ;
        rdfs:domain         foaf:Agent ;
        rdfs:range          rdfs:Literal ;
        rdf:type            owl:InverseFunctionalProperty .

foaf:name  rdf:type         rdf:Property ;
        vs:term_status      "testing" ;
        rdfs:label          "name" ;
        rdfs:comment        "A name for some thing." ;
        rdf:type            owl:DatatypeProperty ;
        rdfs:domain         owl:Thing ;
        rdfs:range          rdfs:Literal ;
        rdfs:isDefinedBy    foaf: ;
        rdfs:subPropertyOf  rdfs:label .

foaf:firstName  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "firstName" ;
        rdfs:comment      "The first name of a person." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:lastName  rdf:type   rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "lastName" ;
        rdfs:comment      "The last name of a person." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:givenName  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "Given name" ;
        rdfs:comment      "The given name of some person." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:isDefinedBy  foaf: .

foaf:givenname  rdf:type  rdf:Property ;
        vs:term_status    "archaic" ;
        rdfs:label        "Given name" ;
        rdfs:comment      "The given name of some person." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:isDefinedBy  foaf: .

foaf:surname  rdf:type    rdf:Property ;
        vs:term_status    "archaic" ;
        rdfs:label        "Surname" ;
        rdfs:comment      "The surname of some person." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:family_name  rdf:type  rdf:Property ;
        vs:term_status    "archaic" ;
        rdfs:label        "family_name" ;
        rdfs:comment      "The family name of some person." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:domain       foaf:Person ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:familyName  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "familyName" ;
        rdfs:comment      "The family name of some person." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:domain       foaf:Person ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:phone  rdf:type      rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "phone" ;
        rdfs:comment      "A phone,  specified using fully qualified tel: URI scheme (refs: http://www.w3.org/Addressing/schemes.html#tel)." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:isDefinedBy  foaf: .

foaf:homepage  rdf:type     rdf:Property ;
        vs:term_status      "stable" ;
        rdfs:label          "homepage" ;
        rdfs:comment        "A homepage for some thing." ;
        rdf:type            owl:ObjectProperty ;
        rdfs:subPropertyOf  foaf:page ;
        rdfs:subPropertyOf  foaf:isPrimaryTopicOf ;
        rdf:type            owl:InverseFunctionalProperty ;
        rdfs:domain         owl:Thing ;
        rdfs:range          foaf:Document ;
        rdfs:isDefinedBy    foaf: .

foaf:weblog  rdf:type       rdf:Property ;
        vs:term_status      "stable" ;
        rdfs:label          "weblog" ;
        rdfs:comment        "A weblog of some thing (whether person, group, company etc.)." ;
        rdf:type            owl:ObjectProperty ;
        rdfs:subPropertyOf  foaf:page ;
        rdf:type            owl:InverseFunctionalProperty ;
        rdfs:domain         foaf:Agent ;
        rdfs:range          foaf:Document ;
        rdfs:isDefinedBy    foaf: .

foaf:openid  rdf:type       rdf:Property ;
        vs:term_status      "testing" ;
        rdfs:label          "openid" ;
        rdfs:comment        "An OpenID for an Agent." ;
        rdf:type            owl:ObjectProperty ;
        rdfs:subPropertyOf  foaf:isPrimaryTopicOf ;
        rdf:type            owl:InverseFunctionalProperty ;
        rdfs:domain         foaf:Agent ;
        rdfs:range          foaf:Document ;
        rdfs:isDefinedBy    foaf: .

foaf:tipjar  rdf:type       rdf:Property ;
        vs:term_status      "testing" ;
        rdfs:label          "tipjar" ;
        rdfs:comment        "A tipjar document for this agent, describing means for payment and reward." ;
        rdf:type            owl:ObjectProperty ;
        rdfs:subPropertyOf  foaf:page ;
        rdfs:domain         foaf:Agent ;
        rdfs:range          foaf:Document ;
        rdfs:isDefinedBy    foaf: .

foaf:plan  rdf:type       rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "plan" ;
        rdfs:comment      "A .plan comment, in the tradition of finger and '.plan' files." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:isDefinedBy  foaf: ;
        rdfs:domain       foaf:Person ;
        rdfs:range        rdfs:Literal .

foaf:made  rdf:type       rdf:Property ;
        vs:term_status    "stable" ;
        rdfs:label        "made" ;
        rdfs:comment      "Something that was made by this agent." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        owl:Thing ;
        rdfs:isDefinedBy  foaf: ;
        owl:inverseOf     foaf:maker .

foaf:maker  rdf:type            rdf:Property ;
        vs:term_status          "stable" ;
        rdfs:label              "maker" ;
        rdfs:comment            "An agent that  made this thing." ;
        owl:equivalentProperty  <http://purl.org/dc/terms/creator> ;
        rdf:type                owl:ObjectProperty ;
        rdfs:domain             owl:Thing ;
        rdfs:range              foaf:Agent ;
        rdfs:isDefinedBy        foaf: ;
        owl:inverseOf           foaf:made .

foaf:img  rdf:type          rdf:Property ;
        vs:term_status      "testing" ;
        rdfs:label          "image" ;
        rdfs:comment        "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)." ;
        rdf:type            owl:ObjectProperty ;
        rdfs:domain         foaf:Person ;
        rdfs:range          foaf:Image ;
        rdfs:subPropertyOf  foaf:depiction ;
        rdfs:isDefinedBy    foaf: .

foaf:depiction  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "depiction" ;
        rdfs:comment      "A depiction of some thing." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       owl:Thing ;
        rdfs:range        foaf:Image ;
        rdfs:isDefinedBy  foaf: ;
        owl:inverseOf     foaf:depicts .

foaf:depicts  rdf:type    rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "depicts" ;
        rdfs:comment      "A thing depicted in this representation." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:range        owl:Thing ;
        rdfs:domain       foaf:Image ;
        rdfs:isDefinedBy  foaf: ;
        owl:inverseOf     foaf:depiction .

foaf:thumbnail  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "thumbnail" ;
        rdfs:comment      "A derived thumbnail image." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Image ;
        rdfs:range        foaf:Image ;
        rdfs:isDefinedBy  foaf: .

foaf:myersBriggs  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "myersBriggs" ;
        rdfs:comment      "A Myers Briggs (MBTI) personality classification." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:workplaceHomepage
        rdf:type          rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "workplace homepage" ;
        rdfs:comment      "A workplace homepage of some person; the homepage of an organization they work for." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        foaf:Document ;
        rdfs:isDefinedBy  foaf: .

foaf:workInfoHomepage
        rdf:type          rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "work info homepage" ;
        rdfs:comment      "A work info homepage of some person; a page about their work for some organization." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        foaf:Document ;
        rdfs:isDefinedBy  foaf: .

foaf:schoolHomepage  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "schoolHomepage" ;
        rdfs:comment      "A homepage of a school attended by the person." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        foaf:Document ;
        rdfs:isDefinedBy  foaf: .

foaf:knows  rdf:type      rdf:Property ;
        vs:term_status    "stable" ;
        rdfs:label        "knows" ;
        rdfs:comment      "A person known by this person (indicating some level of reciprocated interaction between the parties)." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        foaf:Person ;
        rdfs:isDefinedBy  foaf: .

foaf:interest  rdf:type   rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "interest" ;
        rdfs:comment      "A page about a topic of interest to this person." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        foaf:Document ;
        rdfs:isDefinedBy  foaf: .

foaf:topic_interest  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "topic_interest" ;
        rdfs:comment      "A thing of interest to this person." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        owl:Thing ;
        rdfs:isDefinedBy  foaf: .

foaf:publications  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "publications" ;
        rdfs:comment      "A link to the publications of this person." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        foaf:Document ;
        rdfs:isDefinedBy  foaf: .

foaf:currentProject  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "current project" ;
        rdfs:comment      "A current project this person works on." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        owl:Thing ;
        rdfs:isDefinedBy  foaf: .

foaf:pastProject  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "past project" ;
        rdfs:comment      "A project this person has previously worked on." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Person ;
        rdfs:range        owl:Thing ;
        rdfs:isDefinedBy  foaf: .

foaf:fundedBy  rdf:type   rdf:Property ;
        vs:term_status    "archaic" ;
        rdfs:label        "funded by" ;
        rdfs:comment      "An organization funding a project or person." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       owl:Thing ;
        rdfs:range        owl:Thing ;
        rdfs:isDefinedBy  foaf: .

foaf:logo  rdf:type       rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "logo" ;
        rdfs:comment      "A logo representing some thing." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       owl:Thing ;
        rdfs:range        owl:Thing ;
        rdf:type          owl:InverseFunctionalProperty ;
        rdfs:isDefinedBy  foaf: .

foaf:topic  rdf:type      rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "topic" ;
        rdfs:comment      "A topic of some page or document." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Document ;
        rdfs:range        owl:Thing ;
        owl:inverseOf     foaf:page ;
        rdfs:isDefinedBy  foaf: .

foaf:primaryTopic  rdf:type  rdf:Property ;
        vs:term_status    "stable" ;
        rdfs:label        "primary topic" ;
        rdfs:comment      "The primary topic of some page or document." ;
        rdf:type          owl:FunctionalProperty ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Document ;
        rdfs:range        owl:Thing ;
        owl:inverseOf     foaf:isPrimaryTopicOf ;
        rdfs:isDefinedBy  foaf: .

foaf:focus  rdf:type    rdf:Property ;
        vs:term_status  "testing" ;
        rdfs:label      "focus" ;
        rdfs:comment    "The underlying or 'focal' entity associated with some SKOS-described concept." ;
        rdf:type        owl:ObjectProperty .

<http://www.w3.org/2004/02/skos/core#Concept>
        rdfs:label  "Concept" .

foaf:focus  rdfs:domain   <http://www.w3.org/2004/02/skos/core#Concept> ;
        rdfs:range        owl:Thing ;
        rdfs:isDefinedBy  foaf: .

foaf:isPrimaryTopicOf
        rdf:type            rdf:Property ;
        vs:term_status      "stable" ;
        rdfs:label          "is primary topic of" ;
        rdfs:comment        "A document that this thing is the primary topic of." ;
        rdf:type            owl:InverseFunctionalProperty ;
        rdfs:subPropertyOf  foaf:page ;
        owl:inverseOf       foaf:primaryTopic ;
        rdfs:domain         owl:Thing ;
        rdfs:range          foaf:Document ;
        rdfs:isDefinedBy    foaf: .

foaf:page  rdf:type       rdf:Property ;
        vs:term_status    "stable" ;
        rdfs:label        "page" ;
        rdfs:comment      "A page or document about this thing." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       owl:Thing ;
        rdfs:range        foaf:Document ;
        rdfs:isDefinedBy  foaf: ;
        owl:inverseOf     foaf:topic .

foaf:theme  rdf:type      rdf:Property ;
        vs:term_status    "archaic" ;
        rdfs:label        "theme" ;
        rdfs:comment      "A theme." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       owl:Thing ;
        rdfs:range        owl:Thing ;
        rdfs:isDefinedBy  foaf: .

foaf:account  rdf:type    rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "account" ;
        rdfs:comment      "Indicates an account held by this agent." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        foaf:OnlineAccount ;
        rdfs:isDefinedBy  foaf: .

foaf:holdsAccount  rdf:type  rdf:Property ;
        vs:term_status    "archaic" ;
        rdfs:label        "account" ;
        rdfs:comment      "Indicates an account held by this agent." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        foaf:OnlineAccount ;
        rdfs:isDefinedBy  foaf: .

foaf:accountServiceHomepage
        rdf:type          rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "account service homepage" ;
        rdfs:comment      "Indicates a homepage of the service provide for this online account." ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:OnlineAccount ;
        rdfs:range        foaf:Document ;
        rdfs:isDefinedBy  foaf: .

foaf:accountName  rdf:type  rdf:Property ;
        vs:term_status    "testing" ;
        rdfs:label        "account name" ;
        rdfs:comment      "Indicates the name (identifier) associated with this online account." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:OnlineAccount ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:member  rdf:type     rdf:Property ;
        vs:term_status    "stable" ;
        rdfs:label        "member" ;
        rdfs:comment      "Indicates a member of a Group" ;
        rdf:type          owl:ObjectProperty ;
        rdfs:domain       foaf:Group ;
        rdfs:range        foaf:Agent ;
        rdfs:isDefinedBy  foaf: .

foaf:membershipClass  rdf:type  rdf:Property ;
        vs:term_status    "unstable" ;
        rdfs:label        "membershipClass" ;
        rdfs:comment      "Indicates the class of individuals that are a member of a Group" ;
        rdf:type          owl:AnnotationProperty ;
        rdfs:isDefinedBy  foaf: .

foaf:birthday  rdf:type   rdf:Property ;
        vs:term_status    "unstable" ;
        rdfs:label        "birthday" ;
        rdfs:comment      "The birthday of this Agent, represented in mm-dd string form, eg. '12-31'." ;
        rdf:type          owl:FunctionalProperty ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:age  rdf:type        rdf:Property ;
        vs:term_status    "unstable" ;
        rdfs:label        "age" ;
        rdfs:comment      "The age in years of some agent." ;
        rdf:type          owl:FunctionalProperty ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .

foaf:status  rdf:type     rdf:Property ;
        vs:term_status    "unstable" ;
        rdfs:label        "status" ;
        rdfs:comment      "A string expressing what the user is happy for the general public (normally) to know about their current activity." ;
        rdf:type          owl:DatatypeProperty ;
        rdfs:domain       foaf:Agent ;
        rdfs:range        rdfs:Literal ;
        rdfs:isDefinedBy  foaf: .
