AG Netzbasierte Informationssysteme / Networkbased Informationsystems
Institut für Informatik, Fachbereich Mathematik und Informatik, Freie Universität Berlin
for SWRL rules in RDF graphs
This is a prototype system to support reasoning with SWRL rules in
RDF graphs. In particular, a bottom-up Datalog evaluation strategy has been
adopted for computing the least Herbrand model of SWRL rules. The
system provides reasoning over RDF Schema taxonomies plus SWRL rules. OWL
reasoning beyond RDF Schema inheritance is not considered in the current
version of the engine, yet it is subject of future work.
Sesame, an RDF database, acts as an RDF store for the initial ground triples as well as for the derived consequences.
For testing purposes, we use the "family" SWRL file from the Protege ontology library. Further on we borrow a figure from a paper of Christine Golbreich to illustrate this file. In our use case we extend the12 rules provided in the original file with the recursive rules "Def-hasDescendent-base", "Def-hasDescendent-iter" and the rule "Def-hasChild" (cf. #why additional rules).
(1) In order to use the programs, it is necessary to install Sesame.
Sesame can be deployed in several ways, and its lib is imported by both our Java programs:
local.java communicates with your local Sesame server, whose triples are kept in main memory. By default, we have set the URI as http://localhost:8080/sesame/, the login name as testuser, and the password as opensesame.
remote.java communicates with your remote Sesame server, whose storage is the installed database. For the remote case, the available URI, login name and password should be configured by the users themselves.
(2) Sesame provides a Web interface to allow access to repositories through a common Web browser :
For local.java , select the "MySQL RDFS DB"
For remote.java, select the "Main Memory RDF Schema"
(3) Let us "Go>>"
(4) Well, it is the time to run our Java program!
Notice that in this myfamily.rdf SWRL
file, 12 statements of "hasChild" are regarded as the only primitive assertions.
In the original SWRL file the subject of the "hasChild" statements is always
"Man". The following rule of "Def-hasChild" is appended, so as to reinforce
characteristics for both "Man" and "Woman". That is: if one Person has
a Child, then his/her spouse also has the same Child, where Person = Man
Figure 1: SWRL rules in Protege
Figure 2: SWRL rules in Sesame
Figure 3: Def-hasUncle in Sesame
What is SWRL Full?
For example, Narcissism(x) <-- likeType(x, t) & t(x), we have a variable of "t" being an OWL class due to "t(x)" and being an OWL individual due to "likeType(x, t)". Here, SWRL Full employs, making CEXTI(SI(owl:Thing)) = CEXTI(SI(rdfs:Resource)), CEXTI(SI(owl:ObjectProperty)) = CEXTI(SI(rdf:Property)), CEXTI(SI(owl:Class)) = CEXTI(SI(rdfs:Class)). Now, a new version of remote4full.java is for your testing.