CS 6795 Semantic Web Techniques

Fall 2011 Projects


The projects all apply Semantic Web techniques and tools to a domain of knowledge based on the students’ interests. The prototypes described here have been developed to study Semantic Web techniques and are not intended to provide any domain-oriented recommendation.

When sending an email, please always Cc in all from your Team.




Topics and Homepages of Teams

Abstracts and URL Starting Points

Nick Bassiliades,

Efstratios Kontopoulos,
Harold Boley


Team 1 From POSL to d-POSL: Making the Positional-Slotted Language Defeasible

Usman Ali,
Daniel Latimer,

Hanin Almutairi


The Positional-Slotted Language (POSL) provides a human-oriented syntax for a subset of RuleML/XML. POSL is specified in EBNF and as an ANTLR grammar. A POSL<-->RuleML converter relieves users from writing RuleML in XML. Some rule engines (including OO jDREW) use POSL for rule and query editing. Defeasible RuleML (d-RuleML) permits the prioritization of rules and the presence of non-monotonicity. The current POSL 0.91 shall be upgraded to POSL 1.0 (crucial difference: separator between a variable and its type changed from ":" to "^^", e.g. from ?product:EBizProd to ?product^^EBizProd) and extended (with IRI namespace prefixes, built-in calls, etc.), in sync with RuleML 1.0.. On top of this, Defeasible POSL (d-POSL) shall be upgraded from 0.91 to 1.0. An expert, Efstratios (Stratos) Kontopoulos, and software tools are available as part of a collaboration between RuleML and Aristotle University Thessaloniki.
POSL 1.0 and d-POSL 1.0 will be made available, open source, e.g. via the RuleML website.

0.85: http://ruleml.org/submission/ruleml-shortation.html
           (contains many features, although not up-to-date)

0.91: www.cs.unb.ca/~boley/cs6795swt/poslintweb-talk.pdf
       http://ruleml.org/oojdrew/download.html (POSL.g and POSLParser-Java.g)
1.0: http://ojs.academypublisher.com/index.php/jetwi/article/view/0204343353
      (POSL grammar in appendix)

www.cs.unb.ca/~boley/talks/RuleResponderAgentsVO-2010-09-10.ppt (slide 43)
http://lpis.csd.auth.gr/systems/resources.html (links to code for the d-POSL editor)

POSL-RuleML converter (in Java Web Start):


ANTLR: http://www.antlr.org

Source code of previous project:


Alexandre Riazanov,

Harold Boley

Team 2 Converting PSOA RuleML to TPTP Format for FOL-Level Implementation

Gen Zou,
Reuben Peter-Paul


Positional-slotted, object-applicative (psoa) terms generalize and integrate W3C RIF’s F-logic-like positional and slotted (named-argument) terms as well as its frame terms and class memberships. The syntax and semantics of psoa terms and rules over them are defined as PSOA RuleML in the style of RIF-BLD. The semantics blends slot distribution, as in F-logic and RIF (as well as tuple distribution), with integrated psoa terms, as in POSL and RuleML. The planned two-part PSOA RuleML implementation (1) converts PSOA RuleML’s RIF-BLD-like syntax to TPTP format, and (2) reads and executes the TPTP with the VampirePrime reasoner. To address part (1), building on Alexandre Riazanov’s existing converters from RIF and OWL to TPTP, a converter from PSOA RuleML to TPTP shall be conceived. An appropriate representation of psoa terms and rules in First Order Logic (FOL) shall be devised. On this basis, the RIF-to-TPTP converter shall be developed into a (restricted) implementation of the PSOA-to-TPTP converter. It shall be explored using the examples in the PSOA RuleML paper, extended to a more complete psoa test suite. The test suite can also be used to probe part (2) of the evolving PSOA RuleML implementation.

The PSOA-to-TPTP converter and psoa test suite will be made available, open source, e.g. via the RuleML website.


PSOA RuleML (with various examples):



TPTP format:



RIF-to-TPTP converter and VampirePrime reasoner (experimental):


Tara Athan,

Harold Boley

Team 3 A Benchmark Suite for RuleML



RuleML comprises a family of sublanguages, starting with Datalog and other Derivation Rules and proceeding to FOL and beyond. Collections of test and use cases have been developed across RuleML versions for various purposes, including for validation, transformation, and execution. The current examples of rulebases (including test queries) in Derivation RuleML shall be developed for, or complemented by, test cases to achieve a comprehensive Benchmark Suite. In the spirit of RuleML 1.0 being a ‘Rosetta Stone’ release, these RuleML 1.0 instance documents shall be formatted in an easy-to-read standard (pretty-print-indented) manner such that they can be validated in both XML Schema and Relax NG. Hence they shall be double-validated with XSV (XML Schema) and Validator.nu (Relax NG). The Benchmark Suite shall be executed in any rule engine compliant to RuleML, e.g. in OO jDREW or Prova. Results of these validations and executions shall be documented (including with a few screenshots).

The Benchmark Suite will be made available, open source, via the RuleML website.


RuleML 1.0:



RuleML Systematics:



Examples (grouped according to sublanguages):


The Wine Ontology (for benchmarking RuleML and POSL tools):


Earlier benchmarks (showing OO jDREW speedup):






Tara Athan,

Harold Boley

Team 4 Normalizers for RuleML 1.0 in XSLT 2.0

Ao Cheng,
Nada Alsalmi,
Thea Gegenberg,
Leah Bidlake,
Emily Wilson

RuleML 1.0 rules and queries are marked up (serialized) in an ‘object-oriented’ flavor of XML, where XML trees alternate elements that act as Classes/Types (Nodes) or methods/roles (edges). There are various equivalent ways of such (Node-edge-… -Node-edge-Node-)‘striped’ XML serialization, even apart from logical equivalences. For example, the <Implies> node (the main element for rules) normally contains an <if> and a <then> edge (subelements for the rule premise and conclusion, respectively). But, when written in this natural ‘if-then’ sequence, the left-to-right order of XML subelements can be relied upon, and the stripe of <if> and <then> edges may be omitted. Normalizers for RuleML/XML are under development for transforming such ‘stripe-skipped’ serializations back to ‘fully striped’ ones. The current XSLT-based normalizers shall be used for a suite of systematic sample transformations over rules and queries from any knowledge domain, and shall be further developed. For example, transform a subset of RuleML instances that are almost normal in a particular manner:
a) some stripes skipped, but elements in the canonical order;
b) stripes all present, but  some elements out of canonical order.

The results will be made available, open source, via the RuleML website.






Previous normalizer:



Normalizer issues:



Partial XSLT normalizer for RuleML 0.91:



Bruce Spencer,

Tara Athan,

Ben Craig,

Harold Boley

Team 5 Extending OO jDREW for RuleML 1.0

Christian Fabbricatore,
Markus Zucker,

Nasser Albunian,
Khalid Almutairi,
Omar Alsaiari


The Object Oriented Java Deductive Reasoning Engine for the Web (OO jDREW) currently executes queries over rules for a subset of RuleML 0.91. This shall be extended for RuleML 1.0 in Java. A detailed description is available separately.

The rule engine will be made available, open source, via the jDREW website.


OO jDREW as a reference implementation of RuleML:



jDREW introduction:



OO jDREW homepage:



OO jDREW wiki:



OO jDREW on SourceForge:



Tara Athan,

Harold Boley

Team 6 Generating a Library of RuleML 1.0 Schemas



The RuleML 1.0 schemas in Relax NG consist of ‘backbone’ of named schemas enriched by a large number of parameter-defined schemas customizable via a schema generator, MYNG. This tool, written by Tara Athan in PHP, presents itself as a dashboard-like GUI, where users enter parameters of ten categories/facets describing what their RuleML 1.0 sublanguage ought to express. It then generates the desired schema in the Relax NG Compact (RNC) schema syntax, uniquely identified by a (query-parameterized) URL. For example, while there is an XSD-specified RuleML 1.0 sublanguage of Datalog with all relations restricted to being binary (bindatalog), the tool-supported schema parameterization permits the RNC-specified RuleML 1.0 to customize all sublanguages (not only Datalog) with such a binary restriction. The tool shall be used to systematically generate relevant RuleML 1.0 sublanguages in RNC, which shall then be used to validate sample instances. Based on this, a RuleML 1.0 Schema Library of interesting RNC specifications shall be built, tested, and illustrated with examples from any knowledge domain.

The Schema Library will be made available, open source, via the RuleML website.


RuleML schema modularization (including bindatalog):



Paper on Customization of RuleML in Relax NG:


Relax NG and PHP-implemented schema-parameterization tool:




Harold Boley,
Zhili Zhao


Team 7 Rule Enhancement of Personal Health Records
Shirin Ghorbani,

Peijian Ju,
Mahta Moattari,

Jianbo Zheng


A Personal Health Record (PHR) is a collection of health information maintained by an individual about themselves. A Web-based PHR can enhance structured (e.g., relational) health data and unstructured (e.g., English) documents with semi-structured Social Semantic Web knowledge representations for health information. In particular, Web rule enhancement can express an individual’s knowledge about their allergies, drug interactions, prophylactic measures, etc. Rules for the formation of patient support groups can also express profile knowledge about communication constraints such as time, location, age range, gender, and number of participants. The PatientSupporter instantiation of Rule Responder is an early prototype of such rule enhancement in a multi-agent setting. It explores the medical subarea of sports injuries structured by a partonomy of affected body parts. Drawing also on other Rule Responder instantiations such as SymposiumPlanner, PatientSupporter shall be upgraded for RuleML 1.0, its vocabulary of properties shall be refined, its profile knowledge shall be combined with other PHR knowledge, and it shall be explored in a different medical subarea.
The resulting PatientSupporter2 will be made available, open source, via the RuleML website.




PatientSupporter description (including slides and paper with references):


PatientSupporter implementation:



Rule Responder:


Michalis Vafopoulos,
Zhili Zhao,

Harold Boley

Team 8 BuyerRelations: Buyer-Centric Product Filtering with GoodRelations/eClass and RuleML

Ramanpreet Singh,

Marine Feer,

Sen Wang,

Jingjing Li,

Chirag Sharawat


Seller-centric product recommendation rules have been realized in various RuleML projects, and an early Rule Responder design for buyer-centric (eLearning) product filtering rules is available. GoodRelations is a lightweight, generic Semantic Web vocabulary for expressing all typical aspects of offers about products and services on the Web. BuyerRelations shall bring Rule Responder and GoodRelations together as follows: BuyerRelations shall be an instantiation of Rule Responder for GoodRelations offer filtering that is built, tested, and illustrated in any (non-eLearning) product or service domain. Offers and products/services shall be described, respectively, with the GoodRelations vocabulary and the eClassOWL ontology. Buyers in the chosen domain shall be organized as a Rule Responder virtual organization. Incoming offers from sellers shall be pre-filtered by BuyerRelations’ Organizational Agent (OA), which shall dispatch good candidate offers to the potentially most interested BuyerRelations Personal Agent (PA), which assists a human buyer. This PA shall use its local RuleML rule base to decide whether the offer may be interesting for its human owner, perhaps with modifications, sending its decision result back to the OA, hence to the seller.

BuyerRelations will be made available, open source, via the RuleML website.


Product filtering rules:








Rule Responder Guide:












Maintained by Harold Boley