3. OWL - Web Ontology Language
OWL is a semantic fragment of FOL 1
OWL exists in different flavors
OWL Lite ⊆ OWL DL ⊆ OWL Full
OWL2 EL, OWL2 RL, OWL2 QL ⊆ OWL2 DL ⊆ OWL2 Full
OWL 2 is a very expressive language, hard to implement
and work with
OWL 2 specifies profiles/fragments/sub-languages →
trades some expressive power for the efficiency of
reasoning
OWL 2 RL:
Designed to be amenable to implementation using
rule-based technologies
Presenting a partial axiomatization of the OWL 2
RDF-Based Semantics
1
H. Sack, Semantic Web Technologies - OWL 2, 2012,
http://www.slideshare.net/lysander07/10-semantic-web-technologies-owl-2
www.sti-innsbruck.at 3/21
4. OWLIM
OWLIM is a high-performance semantic repository
Implemented in Java and packaged as a Storage and
Inference Layer (SAIL) for the Sesame RDF database [2]
www.sti-innsbruck.at 4/21
5. OWLIM
Implemented on top of the TRREE (Triple Reasoning and
Rule Entailment Engine)
Performs reasoning based on forward-chaining of
entailment rules over RDF triple patterns with variables
R-Entailment 2
Premises and conclusions are triple patterns
Variables allowed in any position
Inequality constraints
Rules applied directly to RDF graph
2
B. Bishop, S. Bojanov, Implementing OWL 2 RL and OWL 2 QL rule-sets for OWLIM, 2011
www.sti-innsbruck.at 5/21
6. OWLIM - Semantics
OWLIM offers several predefined semantics by way of
standard rule-sets
1. empty: no reasoning, i.e. operates as a plain RDF store
2. rdfs: supports standard RDFS semantics
3. owl-horst: OWL dialect close to OWL Horst
4. owl-max: a combination of most of OWL-Lite with RDFS
5. owl2-ql: Conformant OWL2 QL profile
6. owl2-rl: Fully conformant OWL2 RL profile, except for
D-Entailment
Can be configured to use custom rule sets with semantics
better tuned to the particular domain
www.sti-innsbruck.at 6/21
8. OWLIM - Reasoner (2)
Id: prp_trp
p <rdf:type> <owl:TransitiveProperty>
x p y
y p z
-------------------------------
x p z
Id: prp_key_1
c <owl:hasKey> u
x <rdf:type> c [Constraint x != y]
y <rdf:type> c [Cut]
x u y [Context <onto:_sameKey>]
-------------------------------
x <owl:sameAs> y
www.sti-innsbruck.at 8/21
18. Comparison (1)
OWLIM’s Custom Rule-Sets:
Specify the custom rule-set manually via the configuration
parameter (-Druleset=/opt/owlim-se-5.3/oc.pie)
The rule-set file is processed to create Java source code,
then compiled using JDK, used by TRREE during inference
$ tail -f logs/catalina.out
OwlimSchemaRepository: version: 5.3, revision: 6156
Product: OWLIM_SE
Licensee: STI_PlanetData
...
Current file: /opt/owlim-se-5.3/oc.pie
Compiled: ’/opt/owlim-se-5.3/oc.pie’
www.sti-innsbruck.at 18/21
19. Comparison (2)
OWLIM’s Reasoner:
⊕ Compact (no more objects instantiation), Centralized (no
more scattered servers)
Less flexible to maintain the Rules
Rules filtering still questionable
IF (event.location == "Innsbruck") THEN ...
Drools (+Guvnor) Rules Engine:
⊕ More flexible on Rules editing, i.e. GUI, DSL, filtering
⊕ KB sessions can be created/destroyed dynamically
Complex, requires objects instantiation
www.sti-innsbruck.at 19/21
20. Summary
OWLIM can simplify the complexity of the Weaver, and
more than enough for the most use cases
Should we use OWLIM’s Reasoner instead?
www.sti-innsbruck.at 20/21