Overview

Sunflower is a semantic technology developed at SRI International to support automated reasoning applications. Sunflower can be applied to a broad variety of domains, and is especially well suited where there is need to reason about complex data, integrate heterogeneous knowledge, and solve problems with complex, interdependent constraints.

Sunflower provides a tightly integrated and synchronized suite of tools for ontology and rule understanding, editing, and validation. The tools include:

  • editors for ontologies, properties and instances and rules
  • search capabilities
  • graph views showing rule dependencies, class hierarchies and knowledge base relations
  • query user interfaces that allow editing queries
  • query results interfaces
  • test framework

Sunflower also includes a reasoning engine that does not just give yes or no answers, but can provide explanations of query results in English language and supports reasoning about hard and soft constraints and can rank solutions.

Sunflower provides various tools to ingest data from other structured data sources, including MySQL databases, CSV files, spreadsheets, and RDF triple stores.

Sunflower provides means to export query results or knowledge base (KB) content to formats such as tables, spreadsheets or OWL ontologies.

Sunflower can be deployed as an Eclipse-based stand-alone system or alongside existing systems as part of enterprise-level applications or client/server architectures via its Web API. The breadth of tools combined with the flexibility of deploying Sunflower as standalone tool or via its Web API makes it unique among existing Semantic Technology tools.

Sunflower is SRI proprietary. It was developed with government funding as well as internal research and development funding. Sunflower is made with full Government purpose rights.

SRI has applied Sunflower to a variety of domains, thus proving that it is a framework that can be adapted to the needs of specific applications. As mentioned before, domains that need to reason about complex data and problems with a lot of interacting constraints, and that need to integrate heterogeneous knowledge, are particularly well suited for Sunflower.

Sunflower technology has been applied successfully to financial risk management and regulatory compliance, system interoperability for military training and testing, intelligent decision support system for military acquisition processes, privacy policy management and enforcement, and design tradeoff analysis in the space domain.

In the regulatory compliance domain, Sunflower’s semantic approach augments existing regulation understanding and policy development processes by codifying regulations into machine-understandable formats that enable complex reasoning supporting compliance analysis, auditing and other purposes. Regulations are captured as ontologies, knowledge bases and rules by Subject Matter Experts (SME) in collaboration with a Semantic Technology Engineer (STE). For the financial regulatory domain, Sunflower provides decision analysis support that includes detailed formal justification for delivered solutions as well as capabilities for provenance of rules, audit of past results, “what if” simulations to support planning and policy making, and understandable English language explanations that bring the technology closer to the Subject Matter Experts (SMEs) and decision makers.

Because semantic technologies have been proven an effective means for integrating disparate information, the use of semantics and ontologies is becoming more widespread, especially in applications that have traditionally used taxonomies or controlled vocabularies. Although ontologies are recognized for their expressiveness and flexibility, most semantic technologies use them exclusively to capture data sources and do not employ rules to capture system dynamics, behavior or policies. However, only the combination of ontologies and rules provides the full power of semantic technologies as a basis to implement applications and systems that are adaptable and grow with the needs of the underlying user needs or system requirements.

Existing languages like Web Ontology Language (OWL) and rule languages like Semantic Web Rule Language (SWRL) or standardization efforts such as the Rule Interchange Format (RIF) do not support many of the features required for real-world applications. These languages also often do not have substantial and publicly available tool support. For example, SWRL has no negation and does not support n-ary predicates, aggregation or higher order expressions, structured output (such as CSV or XML), database interface, or tracing or debugging of reasoning with rules. SWRL also does not support procedural attachments, and the source code is not human-readable. Finally, there are no satisfactory tools for SWRL rule editing.

The Sunflower [1] suite is intended to fill this gap. Fig. 1 shows the main components of the tool suite.

The main components of the **Sunflower** stack.  Components developed by SRI are shaded.

Fig. 1 The main components of the Sunflower stack. Components developed by SRI are shaded.

Sunflower is built on top of the representation language and reasoner Flora-2 (http://flora.sourceforge.net/), which in turn is implemented as a layer on top of XSB (http://xsb.sourceforge.net/).

Flora-2 [2] is a highly expressive knowledge representation language and associated reasoning engine developed and maintained primarily by Michael Kifer at Coherent Knowledge Systems. While Flora-2 has its origins in the logic programming research community, OWL has its root in description logics. Flora supports, among other things, n-ary formulas, negation-as-failure, aggregation, higher-order predicates, functions, frame syntax for classes and instances, infix mathematical expressions, prioritized or default rules, and knowledge base update operators. Flora-2 integrates ontologies and rules in a powerful way.

On top of Flora-2, Sunflower Foundation is a library, implemented mostly in Java and partially in C/C++ and Flora itself, which provides many features that are essential to building applications based on rules and ontologies. These features include a Flora parser that generates a detailed syntactic representation of Flora content in Java, syntactic manipulation of that representation, a higher-level ontology model, importers and exporters for other languages (RDF, OWL, SWRL, CSV, SQL, etc.), an interface to the Flora reasoner, a live RDF triple store connector, an explanation module that produces structured explanations of reasoning results to the user, and a natural language module that produces English paraphrases of reasoning results and explanations.

The other main components of the Sunflower suite are Sunflower Studio – an Eclipse-based IDE for working with Flora-2 content, and Sunflower Server – a Web server that exposes much of the Sunflower Foundation functionalities over HTTP using REST APIs.

Additional Information on Ontologies vs Ontologies+Rules

The main objective of semantic technologies is to provide a conceptual and logical foundation to how information is modeled and used. As such, semantic technologies provide an infrastructure on which to build applications that are informed not just by the data themselves, but also by the rich semantic interrelations between data. Semantic technologies are becoming more pervasive and have been proven effective as a means to integrate disparate information, especially in applications that have traditionally used taxonomies or controlled vocabularies. The use of ontologies and rules together as a basis for knowledge systems provides additional expressiveness and flexibility, allowing domains to be developed in an incremental manner as new knowledge is gained or new integrations occur by adding or modifying the underlying data schema without affecting the information that already exists in the system. This adaptability provides benefit across the enterprise, lowering project cost and risk as well as enabling rapid experimentation and innovation.

Most semantic applications stop short at the use of ontologies to capture data sources and do not take advantage of rules to capture the full benefit of semantic technologies. Sunflower’s combination of ontologies and rules delivers the full power of semantic technologies, building applications that reveal a deeper understanding of world knowledge or system dynamics, behavior and policies, that remain adaptable throughout the system or application life-cycle, and that continuously grow with evolving data domains, user needs, and system requirements. Currently, there are no rule-based semantic systems publicly available that support semantic technology-based application development in multi-author, web-based settings.

[1]http://sunflower.csl.sri.com
[2]Kifer, Michael, Guizhen Yang, Wan Hui, and Chang Zhao. 2014. Flora-2: User’s Manual. 1.0. Stony Brook University, Stony Brook: Department of Computer Science.