This page provides some introductory material for using KnowWE. The Semantic Wiki KnowWE builds on the open-source wiki engine JSPWiki, extended by the core libraries of d3web and semantic extensions of the KnowWE project. Therefore, many JSPWiki markups can be directly used in KnowWE.

First steps#

  • First Steps: The first and most basic activities in KnowWE
  • Basic Markup: Describes how for format article with headlines, bold letters, bullet lists, etc.
  • Tables: Explains how to use tables

Knowledge Engineering with KnowWE#

A knowledge base is defined by a collection of knowledge elements. These elements can be distributed across the wiki by placing them on different articles. For each knowledge element, we need to define its corresponding package, i.e., a tag that describes its affiliation.

Defining your Knowledge#

You may declare a new knowledge base by specifying the used packages, that should be included into this knowledge base. For the creation of the knowledge base all knowledge elements of the specified packages are picked and included. Detailed descriptions on the definition of knowledge base elements are provided as following:
  • Creating a knowledge base and KnowledgeBase: The mandatory markups to define a knowledge base
  • Package: Defining packages to group knowledge
  • Covering Models: Using set-covering models to derive solutions
  • Solution: Defining solutions and groups of solutions
  • Question: Defining questions and questionnaires (groups of questions)
  • DiaFlux: Using diagnostic flowcharts to ask questions, derive abstractions, and establish solutions
  • Rule: Using rules to derive abstractions and score solutions
  • Abstraction Tables: Use tables to define a set of rules about the same objects
  • Property: Adding special behavior to objects and translate them into multiple languages
  • Resource: Adding multimedia resources to your knowledge base. To add clickable images with sensitive areas to questions, also have a look at the Image Maps.

Execute your Knowledge#

The created knowledge base can be tested directly in the wiki. For this you can use the inline quick interview or a user-driven simple click-dialog. Alternatively you may download the knowledge base as a separate file to run on Android or in a stand-alone application.

  • Using the knowledge: Run an interview session in the wiki and check the derived solutions
  • QuickInterview: Embed an inline dialog to use the knowledge in a wiki page
  • ShowSolutions: Show the derived solutions and/or values in a wiki page

Test your Knowledge#

There exists a bunch of functionalities to test your knowledge during the development. Some tests may be executed manually as required, but you can also define them to be running automatically in the background every time a change is applied to the wiki. In this case, you can specify a signal in the left menu of the wiki to indicate the current quality status.

  • CIDashboard and CIDaemon: Continuous integration of knowledge bases; a dashboard always informs you about the healthiness of your knowledge project
  • TestCasePlayer: Execute the test cases to verify the behavior of the knowledge base
  • Timeline: Execute and filter test cases
  • TestCase: Define test cases to verify the behavior of the knowledge base. It explains, how knowledge can be evaluated in KnowWE using a suite of test cases
  • TestCaseTable: Table-based definition of test cases
  • TestCaseSessionRecord: An alternative way to define test cases
  • KnowledgeBaseBook: Create a PDF file from of a knowledge base to review the contents that have been compiled into it

Development of Ontologies#

KnowWE allows to define ontologies in RDF(S) directly within the Wiki using the following markups:
  • Class: Define classes (rdfs:Class)
  • Individual: Define indiviuals
  • ObjectProperty: Define object properties with domain and range
  • Relation: Establish relations (triples) between resources
  • Turtle: Establish multiple relations for a resource using the Turtle syntax
  • Namespace: Define dinstinct rdf-namespaces or import 3rd party ontologies
  • SPARQL: Execute a SPARQL query on the triple store and embed the results into a wiki page

Other helpful markups#

  • Status: Set a workflow status for a specific wiki page
  • Table: Define a table in a wiki page
  • Todo: Defines a todo entry for the wiki content
  • TodoList: Displays a list of todo entries
  • UML: Define UML diagrams based on PlantUML syntax
  • Include: Includes a wiki page or a particular chapter of a wiki page into an other page
  • Tags: Define tag names for wiki pages and navigate them through a tag cloud

Depending on your use case you may find the following commercial extension helpful:

  • Extended Expressions: Conditions and actions in rules and DiaFlux
  • Time Database: Record and reason over value changes over the time
  • Timechart: Displays the trend of some values over the time
  • Variable: Assign results of expressions to questions
  • Constant: Define a constant to be used in expressions
  • Image Map: Define clickable images to answer questions