VOAF is a vocabulary specification providing elements allowing the description of vocabularies (RDFS vocabularies or OWL ontologies) used in the Linked Data Cloud. In particular it provides properties expressing the different ways such vocabularies can rely on, extend, specify, annotate or otherwise link to each other. It relies itself on Dublin Core and voiD. The name of the vocabulary makes an explicit reference to FOAF because VOAF can be used to define networks of vocabularies in a way similar to the one FOAF is used to define networks of people.
RDF logo
Metadata:
PropertyValue
CreatorBernard Vatant
ContributorsLise Rozat, Pierre-Yves Vandenbussche
PublisherOKFN
Last modified2013-05-24
Statuswork in progress
Namespace URIhttp://purl.org/vocommons/voaf#
Namespace Prefixvoaf
Latest Versionhttp://purl.org/vocommons/voaf
Version Info2.3
Previous versions
Modifications from v2.2 to v2.3
  • Refined the voaf:dataset to a more complex element with occurrences information and added extra properties to represent metrics of vocabulary elements usage in LOV and LOD
Modifications from v2.1 to v2.2
  • Added properties to represent metrics of vocabulary elements usage in LOV and LOD
Modifications from v2.0 to v2.1
  • Added description of queries used to infer a particular VOAF relation between two vocabularies
Modifications from v1.1 to v2.0
  • Namespace moved to purl.
  • Introduction of versions using FRBR.
  • voaf:Vocabulary rdfs:subClassOf frbr:Work.
Modifications from v1.0 to v1.1
  • Depreciation of voaf:exampleDataset, replaced by voaf:dataset
Vocabulary in use example:
The network of vocabularies defined in such a way is described in the Linked Open Vocabularies dataset
Classes:
voaf:Vocabulary
Vocabulary - A vocabulary used in the linked data cloud. An instance of voaf:Vocabulary relies on or is used by at least another instance of voaf:Vocabulary
URI: http://purl.org/vocommons/voaf#Vocabulary
Sub class of: void:Dataset
Sub class of: frbr:Work
voaf:VocabularySpace
Vocabulary Space - A vocabulary space defines any relevant grouping of vocabularies e.g., designed for similar purposes or domains, or designed by the same publisher or the same project, etc. A vocabulary can belong to zero, one or more vocabulary spaces. Dublin Core properties isPartOf and hasPart are used to link a vocabulary to a vocabulary space
URI: http://purl.org/vocommons/voaf#VocabularySpace
voaf:DatasetOccurrences
Dataset occurrences - Class used to store the number of occurences of a vocabulary in a particular dataset
URI: http://purl.org/vocommons/voaf#DatasetOccurrences
Properties:
voaf:classNumber
number of classes - The number of classes defined in the vocabulary namespace.
URI: http://purl.org/vocommons/voaf#classNumber
Domain: voaf:Vocabulary
Range: xsd:integer
Associated Query:
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX voaf:<http://purl.org/vocommons/voaf#>
CONSTRUCT{
?vocab voaf:classNumber ?nbClass
}
WHERE{
 SELECT (COUNT(distinct ?class) AS ?nbClass) ?vocab
 WHERE{
  {?class a rdfs:Class.}
  UNION{?class a owl:Class.}
  ?class a ?type.
  FILTER(?type!=owl:DeprecatedClass)
  ?class rdfs:isDefinedBy ?vocab.
  ?vocab a voaf:Vocabulary.
 }GROUP BY ?vocab
}
Run this query on Linked Open Vocabularies(LOV) data
voaf:propertyNumber
number of properties - The number of properties defined in the vocabulary namespace.
URI: http://purl.org/vocommons/voaf#propertyNumber
Domain: voaf:Vocabulary
Range: xsd:integer
Associated Query:
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 voaf:<http://purl.org/vocommons/voaf#>
CONSTRUCT{
?vocab voaf:propertyNumber ?nbProp
}
WHERE{
 SELECT (COUNT(distinct ?prop) AS ?nbProp) ?vocab
 WHERE{
  {?prop a rdf:Property.}
  UNION{?prop a owl:ObjectProperty.}
  UNION{?prop a owl:DatatypeProperty.}
  UNION{?prop a owl:AnnotationProperty.}
  UNION{?prop a owl:FunctionalProperty.}
  UNION{?prop a owl:OntologyProperty.}
  UNION{?prop a owl:AsymmetricProperty.}
  UNION{?prop a owl:InverseFunctionalProperty.}
  UNION{?prop a owl:IrreflexiveProperty.}
  UNION{?prop a owl:ReflexiveProperty.}
  UNION{?prop a owl:SymmetricProperty.}
  UNION{?prop a owl:TransitiveProperty.}
  ?prop a ?type.
  FILTER(?type!=owl:DeprecatedProperty)
  ?prop rdfs:isDefinedBy ?vocab.
  ?vocab a voaf:Vocabulary.
 }GROUP BY ?vocab
}
Run this query on Linked Open Vocabularies(LOV) data
voaf:reliesOn
relies on - Indicates that the subject vocabulary uses or extends some class or property of the object vocabulary
URI: http://purl.org/vocommons/voaf#reliesOn
Domain: voaf:Vocabulary
Range: voaf:Vocabulary
Sub property of: void:vocabulary
Sub property of: terms:references
voaf:usedBy
used by - Indicates that the subject vocabulary is used by the object vocabulary
URI: http://purl.org/vocommons/voaf#usedBy
Domain: voaf:Vocabulary
Range: voaf:Vocabulary
Inverse of: voaf:reliesOn
voaf:metadataVoc
metadata vocabulary - Indicates that the subject vocabulary uses the object vocabulary in metadata at vocabulary or element level
URI: http://purl.org/vocommons/voaf#metadataVoc
Domain: voaf:Vocabulary
Range: voaf:Vocabulary
Sub property of: voaf:reliesOn
Associated Query:
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX voaf:<http://purl.org/vocommons/voaf#>
CONSTRUCT{
 ?vocab1 voaf:metadataVoc ?vocab2
}
WHERE{
 ?elem1 ?elem2 ?o.
 ?elem1 rdfs:isDefinedBy ?vocab1.
 ?vocab1 a voaf:Vocabulary.
 ?elem2 rdfs:isDefinedBy ?vocab2.
 ?vocab2 a voaf:Vocabulary.
 FILTER(?vocab1!=?vocab2)
}
voaf:extends
extends - Indicates that the subject vocabulary extends the expressivity of the object vocabulary by declaring subsumption relationships, using object vocabulary class as domain or range of a subject vocabulary property, defining local restrictions etc ...
URI: http://purl.org/vocommons/voaf#extends
Domain: voaf:Vocabulary
Range: voaf:Vocabulary
Sub property of: voaf:reliesOn
Associated Query:
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX voaf:<http://purl.org/vocommons/voaf#>
CONSTRUCT{
 ?vocab1 voaf:extends ?vocab2
}
WHERE{
{?elem1 owl:inverseOf ?elem2. FILTER(!isBlank(?elem2))}
 UNION{?elem1 rdfs:domain ?elem2. FILTER(!isBlank(?elem2))}
 UNION{?elem1 rdfs:range ?elem2. FILTER(!isBlank(?elem2))}
 UNION{?elem2 rdfs:domain ?elem1. FILTER(!isBlank(?elem1))}
 UNION{?elem2 rdfs:range ?elem1. FILTER(!isBlank(?elem1))}
 ?elem1 rdfs:isDefinedBy ?vocab1.
 ?vocab1 a voaf:Vocabulary.
 ?elem2 rdfs:isDefinedBy ?vocab2.
 ?vocab2 a voaf:Vocabulary.
 FILTER(?vocab1!=?vocab2)
}
Run this query on Linked Open Vocabularies(LOV) data
voaf:specializes
specializes - Indicates that the subject vocabulary defines some subclasses or subproperties of the object vocabulary, or local restrictions on those.
URI: http://purl.org/vocommons/voaf#specializes
Domain: voaf:Vocabulary
Range: voaf:Vocabulary
Sub property of: voaf:reliesOn
Associated Query:
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX voaf:<http://purl.org/vocommons/voaf#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
CONSTRUCT{
 ?vocab1 voaf:specializes ?vocab2
}
WHERE{
 {?elem1 rdfs:subPropertyOf ?elem2. FILTER(!isBlank(?elem2))}
 UNION{?elem1 rdfs:subClassOf ?elem2. FILTER(!isBlank(?elem2))}
 UNION{?elem1 skos:broadMatch ?elem2. FILTER(!isBlank(?elem2))}
 ?elem1 rdfs:isDefinedBy ?vocab1.
 ?vocab1 a voaf:Vocabulary.
 ?elem2 rdfs:isDefinedBy ?vocab2.
 ?vocab2 a voaf:Vocabulary.
 FILTER(?vocab1!=?vocab2)
}
Run this query on Linked Open Vocabularies(LOV) data
voaf:generalizes
generalizes - Indicates that the subject vocabulary generalizes by some superclasses or superproperties the object vocabulary.
URI: http://purl.org/vocommons/voaf#generalizes
Domain: voaf:Vocabulary
Range: voaf:Vocabulary
Sub property of: voaf:reliesOn
Associated Query:
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 voaf:<http://purl.org/vocommons/voaf#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
CONSTRUCT{
 ?vocab1 voaf:generalizes ?vocab2
}
WHERE{
 {?elem1 skos:narrowMatch ?elem2. FILTER(!isBlank(?elem2))}
 UNION{?elem2 rdfs:subPropertyOf ?elem1.}
 UNION{?elem1 a owl:Class. ?elem1 owl:unionOf ?union. ?union rdf:first ?elem2.}
 UNION{?elem1 a owl:Class. ?elem1 owl:unionOf ?union. ?union rdf:rest ?union2. ?union2 rdf:first ?elem2.}
 UNION{?elem1 a owl:Class. ?elem1 owl:unionOf ?union. ?union rdf:rest ?union2. ?union2 rdf:rest ?union3. ?union3 rdf:first ?elem2.}
 UNION{?elem1 a owl:Class. ?elem1 owl:unionOf ?union. ?union rdf:rest ?union2. ?union2 rdf:rest ?union3. ?union3 rdf:rest ?union4. ?union4 rdf:first ?elem2.}
 UNION{?elem1 a owl:Class. ?elem1 owl:unionOf ?union. ?union rdf:rest ?union2. ?union2 rdf:rest ?union3. ?union3 rdf:rest ?union4. ?union4 rdf:rest ?union5. ?union5 rdf:first ?elem2.}
 FILTER(!isBlank(?elem2))
 ?elem1 rdfs:isDefinedBy ?vocab1.
 ?vocab1 a voaf:Vocabulary.
 ?elem2 rdfs:isDefinedBy ?vocab2.
 ?vocab2 a voaf:Vocabulary.
 FILTER(?vocab1!=?vocab2)
}
Run this query on Linked Open Vocabularies(LOV) data
voaf:hasEquivalencesWith
has equivalences with - Indicates that the subject vocabulary declares some equivalent classes or properties with the object vocabulary.
URI: http://purl.org/vocommons/voaf#hasEquivalencesWith
Domain: voaf:Vocabulary
Range: voaf:Vocabulary
Sub property of: voaf:reliesOn
Associated Query:
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX voaf:<http://purl.org/vocommons/voaf#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
CONSTRUCT{
 ?vocab1 voaf:hasEquivalencesWith ?vocab2
}
WHERE{
 {?elem1 owl:equivalentProperty ?elem2.}
 UNION{?elem1 owl:sameAs ?elem2.}
 UNION{?elem1 owl:equivalentClass ?elem2.}
 UNION{?elem2 owl:equivalentProperty ?elem1.}
 UNION{?elem2 owl:equivalentClass ?elem1.}
 UNION{?elem1 skos:exactMatch ?elem2.}
 UNION{?elem2 skos:exactMatch ?elem1.}
 FILTER(!isBlank(?elem2))
 ?elem1 rdfs:isDefinedBy ?vocab1.
 ?vocab1 a voaf:Vocabulary.
 ?elem2 rdfs:isDefinedBy ?vocab2.
 ?vocab2 a voaf:Vocabulary.
 FILTER(?vocab1!=?vocab2)
}
Run this query on Linked Open Vocabularies(LOV) data
voaf:hasDisjunctionsWith
has disjunctions with - Indicates that the subject vocabulary declares some disjunct classes with the object vocabulary.
URI: http://purl.org/vocommons/voaf#hasDisjunctionsWith
Domain: voaf:Vocabulary
Range: voaf:Vocabulary
Sub property of: voaf:reliesOn
Associated Query:
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX voaf:<http://purl.org/vocommons/voaf#>
CONSTRUCT{
 ?vocab1 voaf:hasDisjunctionsWith ?vocab2
}
WHERE{
 ?elem1 owl:disjointWith ?elem2. FILTER(!isBlank(?elem2))
 ?elem1 rdfs:isDefinedBy ?vocab1.
 ?vocab1 a voaf:Vocabulary.
 ?elem2 rdfs:isDefinedBy ?vocab2.
 ?vocab2 a voaf:Vocabulary.
 FILTER(?vocab1!=?vocab2)
}
Run this query on Linked Open Vocabularies(LOV) data
voaf:similar
similar - Used to assert that two vocabularies are similar in scope and objectives, independently of the fact that they otherwise refer to each other.
URI: http://purl.org/vocommons/voaf#similar
Domain: voaf:Vocabulary
Range: voaf:Vocabulary
Type : owl:SymmetricProperty
voaf:toDoList
to-do list - Describes future tasks planned by a resource curator. This property is primarily intended to be used for vocabularies or datasets, but the domain is left open, it can be used for any resource. Use iCalendar Vtodo class and its properties to further describe the task calendar, priorities etc.
URI: http://purl.org/vocommons/voaf#toDoList
Range: cal:Vtodo
voaf:occurrencesInVocabularies
occurrences in vocabularies - Vocabulary term occurrences in vocabularies.
URI: http://purl.org/vocommons/voaf#occurrencesInVocabularies
Range: xsd:integer
voaf:occurrencesInDatasets
occurrences in datasets - Vocabulary term occurrences in datasets.
URI: http://purl.org/vocommons/voaf#occurrencesInDatasets
Range: xsd:integer
voaf:reusedByVocabularies
reused by vocabularies - Distinct number of vocabularies reusing a resource.
URI: http://purl.org/vocommons/voaf#reusedByVocabularies
Range: xsd:integer
voaf:reusedByDatasets
reused by datasets - Distinct number of datasets reusing a resource.
URI: http://purl.org/vocommons/voaf#reusedByDatasets
Range: xsd:integer
voaf:usageInDataset
usage in dataset - usage statistics in a dataset
URI: http://purl.org/vocommons/voaf#usageInDataset
Domain: voaf:Vocabulary
Range: void:DatasetOccurrences
voaf:inDataset
in dataset - dataset in which a vocabulary occurred
URI: http://purl.org/vocommons/voaf#inDataset
Domain: voaf:DatasetOccurrences
Range: void:Dataset
voaf:occurrences
occurrences - Number of occurrences of a vocabulary in a dataset
URI: http://purl.org/vocommons/voaf#occurrences
Domain: voaf:DatasetOccurrences
Range: xsd:integer
VOAF is licensed under Creative Commons CC BY 3.0 It is developed in the framework of the Datalift project and supported by the Open Knowledge Foundation (OKFN).
If you have any remark, suggestion or question, please contact editors