[{TableOfContents }]

!!! Definition

An ontology is created in a similar way as a d3web knowledge base using the ''ontology'' markup.

{{{
%%Ontology 
  @uses: myPackageName
%
}}}
For the name {{myPackageName}} please use the name of the [package|Doc Package] that you used for the ontology definitions.


!! Creating Ontology Entities within the Local Namespace

Ontologies in KnowWE are based on the RDF standard ([http://www.w3.org/TR/REC-rdf-syntax/]). In RDF every resource is identified by a full qualified URI name.
For brevity, KnowWE uses shortened identifier such as ''rdf'' for ''http://www.w3.org/1999/02/22-rdf-syntax-ns#''.
The resource ''http://www.w3.org/1999/02/22-rdf-syntax-ns#type'' therefore is called ''rdf:type'' in KnowWE.
Ontology entities newly created within the wiki are created in the ontology repository under the so-called local namespace, that is the URL referring to the wiki installation URL.
On the wiki pages, the local namespace (''lns'') is ommitted.

!!! Example

{{{
%%class Person

%%Individual Ms. Moneypenny

%%relation "Ms. Moneypenny" rdf:type Person
}}}

For the third markup line (relation markup), three ontology entities are used. The first (''Ms. Moneypenny'') and third (''Person'') are from the local namespace and therefor the namespace prefix is omitted. The second part is from the predefined rdf vocabulary, therefor the rdf-namespace is used as a prefix by a colon.

The following markups can be used to create ontology entities (under local namespace if the namespace prefix is omitted):

* [Class| Doc Class]
* [Individual| Doc Individual]
* [ObjectProperty| Doc ObjectProperty]
* [Relation| Doc Relation]
* [Turtle| Doc Turtle]


Beside the local namespace, also other namespaces may freely be defined using the [Namespace| Doc Namespace] markup.
For sparql queries in the [SPARQL|Doc SPARQL] markup, always a namespace needs to be defined (including ''lns:'' for the local namespace) for triple patterns of a query.