@prefix dc: .
@prefix voaf: .
@prefix rdfs: .
@prefix foaf: .
@prefix frbr: .
@prefix owl: .
@prefix spin: .
@prefix vann: .
@prefix rdf: .
@prefix vs: .
@prefix spinsp: .
@prefix cc: .
a owl:Ontology ;
dc:title "Vocabulary of a Friend"@en , "Vocabulaire d'un ami"@fr ;
a voaf:Vocabulary ;
dc:issued "2011-03-11"^^ ;
dc:modified "2013-05-24"^^ ;
dc:description "A vocabulary to describe linked data vocabularies and their relations."@en , "Un vocabulaire de description des vocabulaires RDF et de leurs relations mutuelles"@fr ;
dc:contributor .
a foaf:Person .
dc:contributor .
a foaf:Person .
dc:creator .
a foaf:Person .
dc:publisher .
a foaf:Organization .
cc:license ;
vann:preferredNamespacePrefix "voaf" ;
vann:preferredNamespaceUri "http://purl.org/vocommons/voaf#" ;
voaf:exampleDataset ;
frbr:realization .
a frbr:Expression ;
owl:versionInfo "2.3" ;
dc:date "2013-05-24" ;
rdfs:comment "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"@en , "Remplacement de voaf:dataset par un objet permettant d'attacher la notion d'occurrenceet ajout supplémentaire de propriétés pour représenter les métriques d'usage d'éléments de vocabulaire dans le LOV et le LOD"@fr ;
dc:creator ;
frbr:embodiment .
a frbr:Manifestation ;
frbr:alternate .
a frbr:Manifestation .
frbr:realization .
a frbr:Expression ;
owl:versionInfo "2.2" ;
dc:date "2013-04-24" ;
rdfs:comment "Added properties to represent metrics of vocabulary elements usage in LOV and LOD"@en , "Ajout de propriétés pour représenter les métriques d'usage d'éléments de vocabulaire dans le LOV et le LOD"@fr ;
dc:creator ;
frbr:embodiment .
a frbr:Manifestation ;
frbr:alternate .
a frbr:Manifestation .
frbr:realization .
a frbr:Expression ;
owl:versionInfo "2.1" ;
dc:date "2012-10-15" ;
rdfs:comment "Added desrciption of queries used to infer a particular VOAF relation between two vocabularies"@en , "Ajout des requêtes pour générer des relations VOAF entre deux vocabulaires"@fr ;
dc:creator ;
frbr:embodiment .
a frbr:Manifestation ;
frbr:alternate .
a frbr:Manifestation .
frbr:realization .
a frbr:Expression ;
owl:versionInfo "2.0" ;
dc:date "2012-07-03" ;
rdfs:comment "Namespace moved to purl. Introduction of versions using FRBR. voaf:Vocabulary rdfs:subClassOf frbr:Work. Added labels and comments in French"@en , "Namespace migré sous purl. Introduction des versions avec FRBR. voaf:Vocabulary rdfs:subClassOf frbr:Work. Ajout des traductions françaises"@fr ;
dc:creator ;
frbr:embodiment .
a frbr:Manifestation ;
frbr:alternate .
a frbr:Manifestation .
frbr:realization .
a frbr:Expression ;
owl:versionInfo "1.1" ;
dc:date "2011-11-16" ;
rdfs:comment "Depreciation of voaf:exampleDataset, replaced by voaf:dataset"@en , "Dépréciation de voaf:exampleDataset, remplacé par voaf:dataset"@fr ;
frbr:embodiment .
a frbr:Manifestation ;
frbr:alternate .
a frbr:Manifestation .
frbr:realization .
a frbr:Expression ;
owl:versionInfo "1.0" ;
dc:date "2011-03-11" ;
rdfs:comment "First published version"@en , "Première publication"@fr ;
frbr:embodiment .
a frbr:Manifestation ;
frbr:alternate .
a frbr:Manifestation .
voaf:Vocabulary a owl:Class ;
rdfs:label "Vocabulary"@en , "Vocabulaire"@fr ;
rdfs:comment "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"@en , "Un vocabulaire utilisé ou utilisable dans le Web des données. Une instance de voaf:Vocabulary s'appuie at/ou est utilisée par au moins une autre instance of voaf:Vocabulary"@fr ;
rdfs:subClassOf , frbr:Work ;
owl:unionOf _:node17rje6va2x2 .
_:node17rje6va2x2 rdf:first _:node17rje6va2x1 .
_:node17rje6va2x1 a owl:Restriction ;
owl:minCardinality "1" ;
owl:onProperty voaf:reliesOn .
_:node17rje6va2x2 rdf:rest _:node17rje6va2x4 .
_:node17rje6va2x4 rdf:first _:node17rje6va2x3 .
_:node17rje6va2x3 a owl:Restriction ;
owl:minCardinality "1" ;
owl:onProperty voaf:usedBy .
_:node17rje6va2x4 rdf:rest rdf:nil .
voaf:Vocabulary rdfs:isDefinedBy ;
vs:term_status "stable" .
voaf:VocabularySpace a owl:Class ;
rdfs:label "Vocabulary Space"@en , "Espace de vocabulaires"@fr ;
rdfs:comment """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."""@en , """Un Espace de vocabulaires définit un regroupement pertinent de vocabulaires, par exemple construits pour des domaines ou objectifs similaires, ou par le même déditeur ou le même projet, etc.
Un Vocabulaire peut appartenir à zéro, un ou plusieurs Espace de vocabulaires. Les propriétés Dublin Core isPartOf et hasPart sont utilisées pour relier un Vocabulaire à un Espace de vocabulaires."""@fr ;
rdfs:isDefinedBy ;
vs:term_status "testing" .
voaf:classNumber a owl:DatatypeProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "number of classes"@en , "nombre de classes"@fr ;
rdfs:comment "The number of classes defined in the vocabulary namespace. Classes imported from other namespaces are not taken into account."@en , "Le nombre de classes définies dans l'espace de noms du Vocabulaire. Les classes importées d'autres vocabulaires ne sont pas comptabilisées."@fr ;
rdfs:range ;
dc:description """PREFIX rdfs:
PREFIX owl:
PREFIX 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
}""" ;
rdfs:isDefinedBy ;
vs:term_status "stable" .
voaf:propertyNumber a owl:DatatypeProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "number of properties"@en , "nombre de propriétés"@fr ;
rdfs:comment "The number of properties defined in the vocabulary namespace. Properties imported from other namespaces are not taken into account."@en , "Le nombre de propriétés définies dans l'espace de noms du Vocabulaire. Les propriétés importées d'autres vocabulaires ne sont pas comptabilisées."@fr ;
rdfs:range ;
dc:description """PREFIX rdf:
PREFIX rdfs:
PREFIX owl:
PREFIX 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
}""" ;
rdfs:isDefinedBy ;
vs:term_status "stable" .
voaf:reliesOn a owl:ObjectProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "relies on"@en , "réutilise"@fr ;
rdfs:comment "Indicates that the subject vocabulary uses or extends some class or property of the object vocabulary"@en , "Indique que le vocabulaire sujet utilise ou étend au moins une classe ou propriété du vocabulaire objet"@fr ;
rdfs:range voaf:Vocabulary ;
rdfs:subPropertyOf , dc:references ;
rdfs:isDefinedBy ;
vs:term_status "stable" .
voaf:usedBy a owl:ObjectProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "used by"@en , "utilisé par"@fr ;
rdfs:comment "Indicates that the subject vocabulary is used by the object vocabulary"@en , "Indique que le vocabulaire sujet est utilisé par le vocabulaire objet"@fr ;
rdfs:range voaf:Vocabulary ;
owl:inverseOf voaf:reliesOn ;
rdfs:isDefinedBy ;
vs:term_status "stable" .
voaf:metadataVoc a owl:ObjectProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "metadata vocabulary"@en , "vocabulaire de métadonnées"@fr ;
rdfs:comment "Indicates that the subject vocabulary uses the object vocabulary in metadata at global vocabulary level or at element level"@en , "Indique que le vocabulaire sujet utilise le vocabulaire objet pour décrire ses métadonnées, au niveau global du vocabulaire ou au niveau des éléments"@fr ;
rdfs:range voaf:Vocabulary ;
rdfs:subPropertyOf voaf:reliesOn ;
dc:description """PREFIX rdfs:
PREFIX owl:
PREFIX 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)
}""" ;
rdfs:isDefinedBy ;
vs:term_status "stable" .
voaf:extends a owl:ObjectProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "extends"@en , "étend"@fr ;
rdfs:comment "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 ..."@en , "Indique que le vocabulaire sujet étend l'expressivité du vocabulaire objet en déclarant des relations de subsomption avec ce dernier, ou en utilisant ses classes comme domaine ou co-domaine d'un propriété du vocabulaire sujet, ou en définissant des contraintes locales etc."@fr ;
rdfs:range voaf:Vocabulary ;
rdfs:subPropertyOf voaf:reliesOn ;
dc:description """PREFIX rdfs:
PREFIX owl:
PREFIX 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)
}""" ;
rdfs:isDefinedBy ;
vs:term_status "stable" .
voaf:specializes a owl:ObjectProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "specializes"@en , "spécialise"@fr ;
rdfs:comment "Indicates that the subject vocabulary defines some subclasses or subproperties of the object vocabulary, or local restrictions on those."@en , "Indique que le vocabulaire sujet définit des sous-classes ou sous-propriétés du vocabulaire objet"@fr ;
rdfs:range voaf:Vocabulary ;
rdfs:subPropertyOf voaf:reliesOn ;
dc:description """PREFIX rdfs:
PREFIX voaf:
PREFIX skos:
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)
}""" ;
rdfs:isDefinedBy ;
vs:term_status "stable" .
voaf:generalizes a owl:ObjectProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "generalizes"@en , "généralise"@fr ;
rdfs:comment "Indicates that the subject vocabulary generalizes by some superclasses or superproperties the object vocabulary."@en , "Indique que le vocabulaire sujet définit des super-classes ou super-propriétés du vocabulaire objet"@fr ;
rdfs:range voaf:Vocabulary ;
rdfs:subPropertyOf voaf:reliesOn ;
dc:description """PREFIX rdf:
PREFIX rdfs:
PREFIX owl:
PREFIX voaf:
PREFIX skos:
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)
}""" ;
rdfs:isDefinedBy ;
vs:term_status "stable" .
voaf:hasEquivalencesWith a owl:ObjectProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "has equivalences with"@en , "a des équivalences avec"@fr ;
rdfs:comment "Indicates that the subject vocabulary declares some equivalent classes or properties with the object vocabulary."@en , "Indique que le vocabulaire sujet déclare des équivalences de classes ou de propriétés avec le vocabulaire objet"@fr ;
rdfs:range voaf:Vocabulary ;
rdfs:subPropertyOf voaf:reliesOn ;
dc:description """PREFIX rdfs:
PREFIX owl:
PREFIX voaf:
PREFIX skos:
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)
}""" ;
rdfs:isDefinedBy ;
vs:term_status "testing" .
voaf:hasDisjunctionsWith a owl:ObjectProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "has disjunctions with"@en , "a des disjonctions avec"@fr ;
rdfs:comment "Indicates that the subject vocabulary contains some declaration of disjoint classes with the object vocabulary."@en , "Indique que le vocabulaire sujet contient des déclarations de classes disjointes avec le vocabulaire objet"@fr ;
rdfs:range voaf:Vocabulary ;
rdfs:subPropertyOf voaf:reliesOn ;
dc:description """PREFIX rdfs:
PREFIX owl:
PREFIX 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)
}""" ;
rdfs:isDefinedBy ;
vs:term_status "testing" .
voaf:dataset a owl:ObjectProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "dataset"@en , "jeu de données"@fr ;
rdfs:comment "Deprecated since v2.4"@en , "Déprécié depuis la v2.4"@fr ;
rdfs:range ;
owl:inverseOf ;
rdfs:isDefinedBy ;
vs:term_status "deprecated" ;
dc:isReplacedBy voaf:DatasetOccurrences .
voaf:exampleDataset a owl:ObjectProperty ;
rdfs:label "example dataset"@en , "exemple de jeu de données"@fr ;
rdfs:comment "Deprecated since v1.1"@en , "Déprécié depuis la v1.1"@fr ;
rdfs:isDefinedBy ;
vs:term_status "deprecated" ;
dc:isReplacedBy voaf:dataset .
voaf:toDoList a owl:ObjectProperty ;
rdfs:label "to-do list"@en , "liste des choses à faire"@fr ;
rdfs:comment "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."@en , "Liste des tâches prévues par le gestionnaire d'une ressource. Cette propriété est destinée à l'usage des gestionnaires de vocabulaires ou de jeu de données mais son doamine est ouvert, elle peut être utilisée pour n'importe quelle ressource. Utiliser la classe ical:Vtodo pour une description fine des tâches : calendrier, priorités etc"@fr ;
rdfs:range ;
rdfs:isDefinedBy ;
vs:term_status "stable" .
voaf:similar a owl:ObjectProperty ;
rdfs:label "similar"@en , "similaire"@fr ;
rdfs:comment "Used to assert that two vocabularies are similar in scope and objectives, independently of the fact that they otherwise refer to each other."@en , "Indique que deux vocabulaires sont similaires dans leur domaine et/ou leurs objectifs, sans être nécessairement reliés par des références."@fr ;
rdfs:domain voaf:Vocabulary ;
rdfs:range voaf:Vocabulary ;
rdfs:isDefinedBy ;
vs:term_status "testing" ;
a owl:SymmetricProperty .
voaf:occurrencesInVocabularies a owl:DatatypeProperty ;
rdfs:label "occurrences in vocabularies"@en , "occurences dans des vocabulaires"@fr ;
rdfs:comment "Number of vocabularies using a resource"@en , "Nombre de vocabulaires utilisant une ressource."@fr ;
rdfs:range ;
rdfs:isDefinedBy ;
vs:term_status "testing" .
voaf:occurrencesInDatasets a owl:DatatypeProperty ;
rdfs:label "occurrences in datasets"@en , "occurences dans des datasets"@fr ;
rdfs:comment "Number of datasets using a resource."@en , "Nombre de jeux de données utilisant une ressource."@fr ;
rdfs:range ;
rdfs:isDefinedBy ;
vs:term_status "testing" .
voaf:reusedByVocabularies a owl:DatatypeProperty ;
rdfs:label "reused by vocabularies"@en , "réutilisé par des vocabulaires"@fr ;
rdfs:comment "Distinct number of vocabularies reusing a resource."@en , "Nombre distinct de vocabulaires reutilisant une resource."@fr ;
rdfs:range ;
rdfs:isDefinedBy ;
vs:term_status "testing" .
voaf:reusedByDatasets a owl:DatatypeProperty ;
rdfs:label "reused by datasets"@en , "réutilisé par des jeux de données"@fr ;
rdfs:comment "Distinct number of datasets reusing a resource."@en , "Nombre distinct de jeux de données reutilisant une resource."@fr ;
rdfs:range ;
rdfs:isDefinedBy ;
vs:term_status "testing" .
voaf:DatasetOccurrences a owl:Class ;
rdfs:label "Dataset occurrences"@en , "Occurrences dans un jeu de données"@fr ;
rdfs:comment "Class used to store the number of occurences of a vocabulary in a particular dataset"@en , "Classe utilisée pour stocker l'information d'occurences d'un vocabulaire dans un jeu de données"@fr ;
rdfs:isDefinedBy ;
vs:term_status "testing" .
voaf:usageInDataset a owl:ObjectProperty ;
rdfs:domain voaf:Vocabulary ;
rdfs:label "usage in dataset"@en , "utilisation dans un jeu de données"@fr ;
rdfs:comment "usage statistics in a dataset"@en , "statistiques d'utilisation dans un jeu de données"@fr ;
rdfs:range voaf:DatasetOccurrences ;
rdfs:isDefinedBy ;
vs:term_status "testing" .
voaf:inDataset a owl:ObjectProperty ;
rdfs:domain voaf:DatasetOccurrences ;
rdfs:label "in dataset"@en , "dans le jeu de données"@fr ;
rdfs:comment "dataset in which a vocabulary occurred"@en , "jeu de données dans lequel un vocabulaire apparait"@fr ;
rdfs:range ;
rdfs:isDefinedBy ;
vs:term_status "testing" .
voaf:occurrences a owl:ObjectProperty ;
rdfs:domain voaf:DatasetOccurrences ;
rdfs:label "occurrences"@en , "occurrences"@fr ;
rdfs:comment "Number of occurrences of a vocabulary in a dataset"@en , "nombre d'occurrences d'un vocabulaire dans un dataset"@fr ;
rdfs:range ;
rdfs:isDefinedBy ;
vs:term_status "testing" .
voaf:Vocabulary owl:unionOf _:node17rje6va2x6 .
_:node17rje6va2x6 rdf:first _:node17rje6va2x5 .
_:node17rje6va2x5 a owl:Restriction ;
owl:minCardinality "1" ;
owl:onProperty voaf:reliesOn .
_:node17rje6va2x6 rdf:rest _:node17rje6va2x8 .
_:node17rje6va2x8 rdf:first _:node17rje6va2x7 .
_:node17rje6va2x7 a owl:Restriction ;
owl:minCardinality "1" ;
owl:onProperty voaf:usedBy .
_:node17rje6va2x8 rdf:rest rdf:nil .