This section is a brief introduction to the Flora language. We assume that the reader has some familiarity with other knowledge representation languages such as OWL, SWRL, Prolog, or first-order logic, but even a novice reader should be able to get started with Sunflower after perusing this chapter.

While it is possible to use much of Sunflower without writing any Flora content by hand (e.g., to create Flora ontologies using the KB Editor), it is highly recommended that users have at least some understanding of the Flora syntax and language features. In particular, creating new Flora rules requires writing them by hand using the Flora syntax described in this chapter.

In this section, we do not demonstrate how to create Flora content in the Sunflower UI. Instead, we show Flora syntax examples as text. The reader can copy these into the Sunflower Text Editor and try out queries with the Sunflower Queries tab.

Throughout this chapter, We will primarily use the examples in family.flr that accompanies this manual. We do not show all Flora language features. Flora is a very large and complex language. Instead, we show the features and style of encoding that reflects our (SRI’s) way of using Flora.

Other Sources of Documentation

The official reference on the Flora language is the Flora manual, found in the Flora download [1]. This manual mostly discusses intricate technical details of the language and system, and assumes a great deal of knowledge about XSB Prolog. To that end, the XSB Prolog manual, found in the XSB repository [2] is also a useful resource. The Flora web site also has some tutorials [3].

[1]http://sourceforge.net/p/flora/src/HEAD/tree/
[2]http://sourceforge.net/p/xsb/src/HEAD/tree/
[3]http://flora.sourceforge.net/tutorial.html