W3C Technology and Society Domain The Semantic Web Home Page

Workshop Minutes

Minutes of the W3C Workshop on
Rule Languages for Interoperability

See the Workshop Report and the Workshop Website


1. Getting Acquainted

The session started with a quick round of introductions of all participants. The workshop was opened by Sandro Hawke of W3C, workshop co-chair,  with a short presentation to remind everybody of the focus and objectives of the workshop, and to introduce the program and rules of the play. There was a clear agreement from the audience and no objections have been voiced during this presentation. There was, however, a request for a demo session.

Stated Objective: to have the different involved communities introduced to each other, with their rule usage, history, goals, vocabulary etc, so as to make sure that everybody at the workshop shares a minimum of common background about other communities from the beginning

Terry Moriarty was the first speaker. Her talk is about Business Rules, illustrated the use of rules in a number of large projects (government non-DoD), and the need for a standard rule language in order to share business rules. Terry gave a business perspective, with the need to use/reuse the vocabulary and business terms that people are familiar with. A classification of rules was suggested, and some comparison to the needs and requirements of the Semantic Web as opposed to the business rules community. She refers to OWL, need for ontologies as well and ways to integrate the efforts from various communities.

The second talk was given by Eric Miller, W3C Semantic Web Activity lead. Eric stressed the importance of this workshop and focused on giving a Semantic Web perspective. He briefly described the WWW Consortium and its mission/structure, as well as many of its accomplishments. He also clearly stated the importance of the international and multi-cultural nature of W3C. Eric came back to the Web architecture and talked about a 'Web of Documents' as the basis for interoperability and interchange of information, enabling various communities to expose their information and share vocabularies, etc. Eric also talked about lessons learned from previous efforts, and how to work together to make this a success not just as a workshop but as a working group.

Michael Kifer gave the third and last talk of the session. His first slide displayed a proposed Semantic Web stack with 'Rules' next to OWL on top of RDF. Michael's focus was on describing theoretical foundations and requirements for a Semantic Web Rule language. He talked about the limitations and failure of past efforts and languages. He notes that although Prolog is a good/suitable language, it did not reach mainstream adoption (not popular with programmers and not close to what they expect from a programming language).

This session was ended with a general discussion involving all the session speakers. The discussion started with metadata, and their importance to the Web, and the need for rules to be business oriented. Terry argued that a lot of what is called 'metadata' is actually simply business data. The discussion moved to questions around the various users and the role of various logics. Are we expecting business people to write programs (SQL code, Prolog?). Some argued that Business users (particularly domain experts) are using tools and user interfaces that help them write rules and represent their expertise. Some suggest to let business users deal with rules that are not complex and leave the complexity to specialists and programmers. Eric Miller moved the discussion to URIs and advocating its use within the enterprise as a cost-saving solution and an integrated approach for information systems (even for non-webized applications). Tim Berners Lee followed with a comment on SPARQL and a unified format for various kinds of information. More discussion followed on the need for more players (mention of BPEL, BPMI, and other organizations in vertical domains). The last part of this general discussion focused on the needs and requirements of the business community (mostly simple complexity rules are needed) and the KR community that cares about logic and more expressive rule languages. However, MITRE argued that they see themselves needing requirements for both and sit in between the two communities.

2. General Requirements

Stated Objective: Briefly describe and justify each requirement/family of requirements; illustrate your requirements with examples; focus on requirements for exchanging rules; scope different sets of requirements as precisley as possible (with respect to usage, kind of rules, whatever is relevant)

Presentations by Ed Barkmeyer (NIST; NIST "Position Paper" for the W3C Workshop on Rule Languages for Interoperability), Colleen McClintock (ILOG; General Requirements for Production Rule Systems), Dan Connolly (W3C; W3C Process: A Means to an End).

2.1. NIST position

Common rules needs are for converting between different representations of the same information, qualifying information, reasoning about relations between regions (containment, intersection...), and a rule language for engineering models must support variables, partOf properties, arithmetics constraints involving multiple properties, relations between properties. Ed Barkmeyer (presentation, paper) also pointed out that there are different kinds of rules (information model rules, business logic and workflow rules, semantic Web service specifications) and we need integration/interoperation of all kind of rules. Users do not want to read traces, but there is a need to be able to exchange proofs, explanations. External events need to be part of the language.

Brief discussion

2.2. Requirements for Production Rules

Colleen McClintock (presentation, paper) presented requirements on a standard for exchangin production rules (concern 25 commercial products and 18 open source products in the Java rule engine space only). Two important points are that a standard rule language must be unambiguous with respect to execution (same rules with same data produce same results in different environments) and that it must be compatible with related standards (esp. OMG's Production Rules Representation and JSR 94's Rules Engine API). She proposes a layered standard with common core constructs and different sublanguages for different execution/inference semantics.

Brief discussion

2.3. W3C process

Dan Conolly (presentation, paper) explained the W3C values and process and where the workshop fits.

Brief discussion

2.4. General discussion

2.4.1. Contributed Session Notes:

2.4.2. Discussion highlights

End users do not want to read traces, but how about a verification engine? A common bottom layer would allow to pass assertions to another engine (for validation, verification purposes). We may need a proof language to allow delegation and maintain trust

Representing assertions, and also queries/answers (and eventually proofs) which are the conclusions from those assertions, in terms of external-to-engine behavior of what's inferred, is a low hanging fruit. But the execution layer of engine is really procedural (differences in the engine behavior such as rule priority/sequencing and refraction may affect what actions get performed), without well established available theory, and thus seems fairly difficult to standardize on anytime soon. Rules can be disambiguated with respect to execution or with respect to results: what kind of rule language are we interested in, a programming language or a knowledge representation language?

It is easier to interoperate data than a procedural version of how an engine works. So, rather than trying to describe the internal variants of the engine behavior, it is usually simpler to define the expected behaviors in the standard, and the engine should then (be developed so as to) support the standard.

In MathML, different URIs are used to specify which semantic model was being used by the author, as it was not feasible to make all math engines come up with the same answer, even in standards math.

3. Candidate Technologies 1

Stated Objective: Tell us to why the presented technology is a candidate, what requirements it fulfills; give us a feeling for what the technology is, do not go to deep into the technical details/is about; give us a couple concrete examples of what you can do and what you cannot do with the technology; do not bother to compare with other technologies, the discussion will take care of that :-)

3.1. WSML

Jos de Bruijn, DERI: presentation, paper

Brief Discussion:

3.2. RuleML

Harold Boley, NRC Canada: presentation, paper

This presentation, more than any other, tried to claim the high ground, to say "this is what the first version of the standard should be". It was reiterated in later RuleML presentations: Datalog + NAF.

Brief Discussion:

3.3. SWSL Rules

Benjamin Grosof, MIT: presentation, paper.

Brief Discussion:

3.4. N3

Tim Berners-Lee, MIT: presentation, paper

Brief Discussion:

3.5. SWRL, Bijan Parsia

Bijan Parsia, UMD: presentation, paper

Four approaches to OWL compatibility

  1. Subset (DLP, HORN-SHIQ)
  2. Hybrid (Carin, DL Safe, AL-Log)
  3. Superset (SWRL)
  4. Alter (classic style rules, other non-mon extensions)

1-3 == subsumed by SWRL, so standardize SWRL

3.6. Discussion

Contributed Notes