Tutoriel édition de mappings
De Dbpedia.fr.
Les mappings sont édités sur le site http://mappings.dbpedia.org, la documentation en Anglais peut être consultée cette la page.
Il s'agit d'un mediawiki, différentes données de DBpedia y sont éditées :
- l'ontologie
- les classes
- les propriétés
- les datatypes
- les mappings pour faire correspondre les modèles à des classes de l'ontologie et leurs attributs à des propriétés.
Sommaire |
Édition de l'ontologie
Édition des classes
Chaque classes est définie par un modèle {{Class}} dans la page dans l'espace de noms OntologyClass: avec le nom de la classe.
Par exemple la classe http://dbpedia.org/ontology/Person est définie dans la page http://mappings.dbpedia.org/index.php/OntologyClass:Person qui contient :
{{Class | labels = {{label|en|person}} {{label|de|Person}} {{label|fr|personne}} [...] | rdfs:subClassOf = Agent | owl:equivalentClass = foaf:Person, schema:Person }}
Le nom de la classe est donnée par le nom de la page qui contient ce modèle (ici Person), le modèle contient en plus les champs :
- label qui permet de donner les labels dans différentes langues en utilisant le modèle {{label}}. Ces entrées gênèrent des triplets avec la propriété rdfs:label.
- comments qui permet de donner une explication plus détaillée de la classe dans différentes langues avec les modèles {{comment}}. Ces entrées génèrent des triplets avec la propriété rdfs:comment. Une bonne pratique est d'y inclure une référence à un article Wikipédia ou Wiktionnaire.
- rdfs:subClassOf, owl:equivalentClass et owl:disjointWith pour placer la classe dans la hiérarchie de classes.
- specificProperties permet de spécifier l'unité par défaut à utiliser pour les valeurs d'une propriété applicable à cette classe.
Liens utiles:
- Hiérarchie de classes existantes : http://mappings.dbpedia.org/server/ontology/classes/
Édition des propriétés
Chaque propriété est définie dans la page dans l'espace de noms OntologyProperty: avec le nom de la propriété.
Deux modèles sont utilisés suivant s'il s'agit
- d'une propriété ayant pour valeur des instances : {{ObjectProperty}},
- ou une propriété ayant pour valeur des litéraux : {{DatatypeProperty}}.
Les champs de ces modèles sont les mêmes, la seule différence concerne les valeurs admises pour le champ rdfs:range.
Par exemple pour propriété http://dbpedia.org/ontology/locationCity est définie dans la page http://mappings.dbpedia.org/index.php/OntologyProperty:LocationCity qui contient :
{{ObjectProperty | labels = {{label|en|location city}} {{label|fr|situé dans la ville}} [...] | rdfs:domain = Organisation | rdfs:range = City | rdfs:subPropertyOf = location |comments = {{comment|en|City the thing is located.}} }}
Le champ rdfs:range doit contenir une classe définie dans le wiki.
La propriété http://dbpedia.org/ontology/birthDate est définie dans la page http://mappings.dbpedia.org/index.php/OntologyProperty:BirthDate qui contient :
{{DatatypeProperty | labels = {{label|en|birth date}} {{label|fr|date de naissance}} {{label|de|Geburtsdatum}} [...] | rdfs:domain = Person | rdfs:range = xsd:date | rdf:type = owl:FunctionalProperty | owl:equivalentProperty = schema:birthDate }}
Le champ rdfs:range doit contenir soit un datatype XSD, soit un datatype défini dans le wiki (voir #Édition_des_datatypes).
Les autres champs sont en commun :
- labels et comments, définis comme pour les classes permettent d'exprimer et d'expliquer la propriété dans différentes langues.
- rdfs:domain donne le domaine de la propriété, c'est-à-dire une classe à laquelle doivent appartenir les sujets de la propriété, celle-ci doit avoir été définie dans le wiki.
- rdfs:subPropertyOf et owl:equivalentProperty permettent de définir des relations de généralisation/spécialisation ou d'équivalence par rapport à d'autres propriétés, celles-ci doivent être définies dans le wiki.
- rdf:type permet de préciser le type de la propriété (au delà du type owl:ObjectProperty / owl:DatatypeProperty). Actuellement seul le type owl:FunctionalProperty peut être donné, il signifie que la propriété définit une fonction, c'est-à-dire qu'elle ne peut prendre qu'une valeur par sujet.
Liens utiles :
- Liste des propriétés : http://mappings.dbpedia.org/index.php?title=Special:AllPages&namespace=202