How to edit the DBpedia Ontology
The DBpedia ontology is based on OWL and forms the structural backbone of DBpedia. It describes classes, e.g. person, city, country, and properties, e.g. birth place, longitude. Information in Wikipedia articles is then mapped via the above described mapping to this ontology. Most prominently, many Wikipedia pages use so called infoboxes. For instance, the English wikipedia article about London contains a "settlement infobox". This infobox may be mapped to e.g. the class "populated place" (see PopulatedPlace) in the DBpedia ontology and the attributes in the infobox are mapped to properties in the DBpedia ontology. This way, a unified view over all data in infoboxes can be obtained. Since this information conforms to Semantic Web standards, it can be queried and combined by a broad range of tools in a useful way. This increases the value of information entered by the Wikipedia community.
A listing of all classes, properties and datatypes used by the DBpedia ontology is found below:
- Ontology Classes - OWL classes and their definitions; Class Hierarchy
- Ontology Properties - OWL Object and Datatype properties
- Datatypes - units of measurement
You can also download an OWL file containing all classes, properties and datatypes as they are currently defined.
Tools
These tools might help you edit the ontology:
- Class Hierarchy View. The ontology view gives you an overview about the current shape of the DBpedia ontology.
- Ontology Validator. When you are editing a mapping, there is a validate button on the bottom of the page. Pressing the button validates your changes for syntactic correctness and highlights inconsistencies such as missing property definitions.
- MappingTool. The DBpedia MappingTool is a graphical user interface that supports users to create and edit mappings.
- DBpedia Mapping Language Specification (detailed)
How to edit
How to add an ontology class
- Find a list of existing ontology classes via the sidebar (Ontology Classes) or have a look at the class hierarchy.
- If you like to add a new ontology class, create a wiki page in the OntologyClass namespace. The page name has to be upper camel case.
- Write a Class template defining the ontology class properties like label, super class etc..
How to add an ontology property
- Find a list of existing ontology properties via the sidebar (Ontology Properties).
- If you like to add a new ontology property, create a wiki page in the OntologyProperty namespace. The page name has to be upper camel case.
- Write a DatatypeProperty template or ObjectProperty template defining the ontology property.
Ontology Schema Definition Language
The language consists of the following templates to cover the ontology schema definition:
The Class template offers the following template parameters:
- rdfs:label
- rdfs:comment: you must fill this out explaining the particulars of usage
- rdfs:subClassOf
- owl:equivalentClass
The DatatypeProperty template offers the following template parameters:
- rdfs:label
- rdfs:comment: you must fill this out explaining the particulars of usage
- rdfs:domain
- rdfs:range
- owl:equivalentProperty
The ObjectProperty template offers the following template parameters:
- rdfs:label
- rdfs:comment: you must fill this out explaining the particulars of usage
- rdfs:domain
- rdfs:range
- owl:equivalentProperty
Examples
The definition of the DBpedia ontology class Person (using the Class template):
{{Class | labels = {{label|en|Person}} }}
The definition of the DBpedia ontology property height (using the DatatypeProperty template):
{{DatatypeProperty | labels = {{label|en|height}} | rdfs:domain = Person | rdfs:range = centimeter }}
The definition of the DBpedia ontology property doctoralAdvisor (using the ObjectProperty template):
{{ObjectProperty | labels = {{label|en|doctoral advisor}} | rdfs:domain = Scientist | rdfs:range = Person }}