Analyzing the AIR Language: A Semantic Web (Production) Rule Language

Notes

AIR was developed as an extension to N3Logic

NOTER_PAGE: (1 . 0.5595026642984013)

AIR rules are encoded in N3, which extends the expressiveness of RDF with (i) the ability to use graphs as literal values, (ii) universal or existential quantification of variables in a graph and (iii) built-in functions and operators represented as RDF properties.

NOTER_PAGE: (1 . 0.6180637544273908)

AIR is designed to provide detailed explanations

NOTER_PAGE: (1 . 0.6853600944510035)

AIR permits natural language descriptions to be added

NOTER_PAGE: (1 . 0.6959858323494686)

Since justifications can potentially reveal sensi- tive information from the knowledge base or expose bias in the rules, AIR also provides ways to customize explanations, e.g. hiding actions of certain rules.

NOTER_PAGE: (1 . 0.7260920897284533)

wait… what? we explicitly facilitate hiding bias?

AIR rules have unique IDs (IRIs)

NOTER_PAGE: (2 . 0.15466351829988192)

AIR rules can be nested

NOTER_PAGE: (2 . 0.17001180637544272)

objectively checked for patterns

NOTER_PAGE: (2 . 0.24439197166469892)

SCR is important for a Web rule languages because information on the Web is often assumed to be incomplete, and its correctness is subject to the trustworthiness of the source.

NOTER_PAGE: (2 . 0.3051948051948052)

N3Logic supports monotonic negation, and AIR supports non-monotonic negation

NOTER_PAGE: (2 . 0.48760330578512395)

Rule Interchange Format (RIF) [14] has two major dialects – the Framework for Logic Dialects (FLD) and the Production Rule Dialect (PRD).

NOTER_PAGE: (2 . 0.5348288075560803)

AIR is neither more nor less expressive than BLD. Unlike BLD, function symbols are not supported in AIR, whereas AIR supports negation.

NOTER_PAGE: (2 . 0.6103896103896104)

AIR is as expressive as SWRL, and also supports negation.

NOTER_PAGE: (2 . 0.6682408500590319)

Other than AIR, of the systems men- tioned above, only Jena supports (partially) nesting of rules.

NOTER_PAGE: (2 . 0.7166469893742621)

SILK also supports SCR.

NOTER_PAGE: (2 . 0.7792207792207791)

In contrast, the explanations for conclusions in AIR are gen- erated by the reasoner itself

NOTER_PAGE: (3 . 0.1983471074380165)

AIR’s focus on explanation generation for Web reasoning makes it unique.

NOTER_PAGE: (3 . 0.24675324675324675)

Other distinguishing features include AIR’s ability to treat AIR rules as part of linked data

NOTER_PAGE: (3 . 0.25914994096812277)

ability to match patterns against remote triple stores.

NOTER_PAGE: (3 . 0.2780401416765053)

While AIR has a production rule syntax, it is limited to assertions of facts, and addition of rules.

NOTER_PAGE: (3 . 0.2922077922077922)

Therefore, we can define its declarative semantics

NOTER_PAGE: (3 . 0.3217237308146399)

Not only is the notion of nesting of rules absent from Jess, AIR’s negation is different from NAF.

NOTER_PAGE: (3 . 0.4427390791027154)

The reasoner computes the closure, AIR-closure, for given facts, in N3, with respect to given AIR-program.

NOTER_PAGE: (3 . 0.717237308146399)

The closure contains the initial facts and all the facts that can be deduced from it using the given rules.

NOTER_PAGE: (3 . 0.7479338842975206)

The condition is specified as a graph pattern

NOTER_PAGE: (4 . 0.6729634002361274)

pattern matched against N3 graphs.

NOTER_PAGE: (4 . 0.6930342384887839)

actions can be annotated with natural language description through the air:description property

NOTER_PAGE: (5 . 0.615112160566706)

The existentially quantified variables may be declared within the condition.

NOTER_PAGE: (5 . 0.6623376623376623)

The universally quantified variables are declared outside of the rule.

NOTER_PAGE: (5 . 0.6800472255017709)

When the nested rule is activated, an instance of the rule with known variable bindings substituted is created.

NOTER_PAGE: (5 . 0.7520661157024793)

Traditionally, rule languages have been designed assuming that all rules will apply on all input data. However, this is not desirable for a web rule language

NOTER_PAGE: (5 . 0.8146399055489965)

AIR supports SCR. The matching of a condition pattern can be scoped

NOTER_PAGE: (6 . 0.6369539551357732)

2.2 AIR Reasoning (The Procedural Semantics)

NOTER_PAGE: (7 . 0.3919716646989374)

The AIR reasoner employs a RETE [6] based forward-chaining approach

NOTER_PAGE: (7 . 0.4244391971664699)

Positively Stratified Negatively Hierarchical Logic Programs

NOTER_PAGE: (8 . 0.2532467532467532)

An LP P is PSNHLP if there is an assignment of ordinal levels to predicates such that whenever a predicate appears in the body (negatively or positively) of a negative rule, the predicate in the head of that rule is of strictly higher level, and whenever a predicate appears in the body of a positive rule, the predicate in the head has at least that level.

NOTER_PAGE: (8 . 0.6162927981109799)

Declarative Semantics

NOTER_PAGE: (9 . 0.28335301062573787)

The declarative semantics of AIR-program can be defined in terms of a seman- tically equivalent PSNHLP.

NOTER_PAGE: (9 . 0.31109799291617474)

AIR and Logic Programming

NOTER_PAGE: (12 . 0.3347107438016529)

AIR rules have different semantics from the LP rules

NOTER_PAGE: (12 . 0.3766233766233766)

The nesting of rules impacts the order in which the rules are fired, and they may be nested properly to get the desired semantics.

NOTER_PAGE: (12 . 0.6900826446280991)

PLPs can be losslessly rewritten into AIR

NOTER_PAGE: (12 . 0.7975206611570248)

OWL 2 RL inference rules are all positive, and therefore they can be encoded in AIR

NOTER_PAGE: (12 . 0.7975206611570248)

PSNHLPs can be losslessly rewritten into AIR.

NOTER_PAGE: (13 . 0.45159386068476975)

AIR does not support well-founded negation and is less expressive than other rule systems

NOTER_PAGE: (14 . 0.4551357733175915)

ability to construct explanations, declaratively manipulate them, and its support for scoped contextualized reasoning (SCR) make it sufficiently unique and useful

NOTER_PAGE: (14 . 0.47107438016528924)

nesting can also be leveraged to order rules and therefore encode fairly expressive LPs

NOTER_PAGE: (14 . 0.564344746162928)