[{TableOfContents }]

!!!Definition
Packages can be used to define knowledge bases in KnowWE on different articles. Knowledge markups like [Questions|Doc Questions] and [Rules|Doc Rules] can be added to certain packages and the packages can later be added to a knowledge base.
By default, all markups are in the package "default" which is also the package compiled by default by a [KnowledgeBase|Doc KnowledgeBase].

Also, ontologies are defined within the package mechanism.
!!!Syntax - Basic

There are different ways to use packages other than the default package. 

!!Add all knowledge markups to a package at once

You can add the following markup in an arbitrary position on the article.

{{{
%%Package myPackageName
}}}

By doing this, all markups of this article are in the pagacke "myPackageName".

!!Add a single knowledge markup to a package
Almost all knowledge markup support the annotation "@package: myPackageName".
\\
\\
__Example:__
{{{
%%Question
Quest A
- question1 [oc]
-- answer1
-- answer2 

@package: myPackageName
%
}}}

!!! Define a knowledge base containing a certain package

After adding knowledge markups to a certain package, the package can be compiled to a certain knowledge base using the following markup.

{{{
%%Knowledgebase

@uses: myPackageName
%
}}}

The knowledge base downloadable in this markup will then only contain the knowledge defined for the used package.
It is also possible to compile multiple markups and to add knowledge markups to multiple packages.