SPIN Hack in GraphDB
up vote
1
down vote
favorite
I have an ontology that I created in TopBraid that uses SPIN + OWL inference. I've been trying to figure out a way to decouple SPIN because most RDF graph database vendors still do not support the standard.
The approach that I've come up with using GraphDB is to load my ontology into GraphDB and then execute each spin:rule present in my ontology as a SPARQL UPDATE/INSERT.
First thing I'm trying to figure out if I can temporarily turn off the GraphDB reasoner while I make a set of SPARQL INSERTS/UPDATES and then turn on the reasoner thereafter.
Secondly, although likely not recommended, would it be possible for the SPARQL INSERT/UPDATES to be added to the implicit graph and not the explicit graph?
If someone has a better idea on how to do this do let me know.
graphdb
add a comment |
up vote
1
down vote
favorite
I have an ontology that I created in TopBraid that uses SPIN + OWL inference. I've been trying to figure out a way to decouple SPIN because most RDF graph database vendors still do not support the standard.
The approach that I've come up with using GraphDB is to load my ontology into GraphDB and then execute each spin:rule present in my ontology as a SPARQL UPDATE/INSERT.
First thing I'm trying to figure out if I can temporarily turn off the GraphDB reasoner while I make a set of SPARQL INSERTS/UPDATES and then turn on the reasoner thereafter.
Secondly, although likely not recommended, would it be possible for the SPARQL INSERT/UPDATES to be added to the implicit graph and not the explicit graph?
If someone has a better idea on how to do this do let me know.
graphdb
They have rules: graphdb.ontotext.com/documentation/standard/reasoning.html
– Stanislav Kralin
Aug 11 at 15:17
1
I agree that rules are likely the best way to go, but 1) I don't believe that rules can create new IRIs which I require. 2) I want my rules to be written in some standard's based language. 3) The rules I have are fairly complex, which is why I went down the SPIN route in the first place.
– Anuj Khanna
Aug 11 at 18:45
Well, possibly you could try RDF4J: stackoverflow.com/search?q=rdf4j+spin+is%3Aq
– Stanislav Kralin
Aug 11 at 20:09
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I have an ontology that I created in TopBraid that uses SPIN + OWL inference. I've been trying to figure out a way to decouple SPIN because most RDF graph database vendors still do not support the standard.
The approach that I've come up with using GraphDB is to load my ontology into GraphDB and then execute each spin:rule present in my ontology as a SPARQL UPDATE/INSERT.
First thing I'm trying to figure out if I can temporarily turn off the GraphDB reasoner while I make a set of SPARQL INSERTS/UPDATES and then turn on the reasoner thereafter.
Secondly, although likely not recommended, would it be possible for the SPARQL INSERT/UPDATES to be added to the implicit graph and not the explicit graph?
If someone has a better idea on how to do this do let me know.
graphdb
I have an ontology that I created in TopBraid that uses SPIN + OWL inference. I've been trying to figure out a way to decouple SPIN because most RDF graph database vendors still do not support the standard.
The approach that I've come up with using GraphDB is to load my ontology into GraphDB and then execute each spin:rule present in my ontology as a SPARQL UPDATE/INSERT.
First thing I'm trying to figure out if I can temporarily turn off the GraphDB reasoner while I make a set of SPARQL INSERTS/UPDATES and then turn on the reasoner thereafter.
Secondly, although likely not recommended, would it be possible for the SPARQL INSERT/UPDATES to be added to the implicit graph and not the explicit graph?
If someone has a better idea on how to do this do let me know.
graphdb
graphdb
asked Aug 11 at 14:51
Anuj Khanna
212
212
They have rules: graphdb.ontotext.com/documentation/standard/reasoning.html
– Stanislav Kralin
Aug 11 at 15:17
1
I agree that rules are likely the best way to go, but 1) I don't believe that rules can create new IRIs which I require. 2) I want my rules to be written in some standard's based language. 3) The rules I have are fairly complex, which is why I went down the SPIN route in the first place.
– Anuj Khanna
Aug 11 at 18:45
Well, possibly you could try RDF4J: stackoverflow.com/search?q=rdf4j+spin+is%3Aq
– Stanislav Kralin
Aug 11 at 20:09
add a comment |
They have rules: graphdb.ontotext.com/documentation/standard/reasoning.html
– Stanislav Kralin
Aug 11 at 15:17
1
I agree that rules are likely the best way to go, but 1) I don't believe that rules can create new IRIs which I require. 2) I want my rules to be written in some standard's based language. 3) The rules I have are fairly complex, which is why I went down the SPIN route in the first place.
– Anuj Khanna
Aug 11 at 18:45
Well, possibly you could try RDF4J: stackoverflow.com/search?q=rdf4j+spin+is%3Aq
– Stanislav Kralin
Aug 11 at 20:09
They have rules: graphdb.ontotext.com/documentation/standard/reasoning.html
– Stanislav Kralin
Aug 11 at 15:17
They have rules: graphdb.ontotext.com/documentation/standard/reasoning.html
– Stanislav Kralin
Aug 11 at 15:17
1
1
I agree that rules are likely the best way to go, but 1) I don't believe that rules can create new IRIs which I require. 2) I want my rules to be written in some standard's based language. 3) The rules I have are fairly complex, which is why I went down the SPIN route in the first place.
– Anuj Khanna
Aug 11 at 18:45
I agree that rules are likely the best way to go, but 1) I don't believe that rules can create new IRIs which I require. 2) I want my rules to be written in some standard's based language. 3) The rules I have are fairly complex, which is why I went down the SPIN route in the first place.
– Anuj Khanna
Aug 11 at 18:45
Well, possibly you could try RDF4J: stackoverflow.com/search?q=rdf4j+spin+is%3Aq
– Stanislav Kralin
Aug 11 at 20:09
Well, possibly you could try RDF4J: stackoverflow.com/search?q=rdf4j+spin+is%3Aq
– Stanislav Kralin
Aug 11 at 20:09
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
I suppose you can turn off the reasoner by selecting a default ruleset the is empty (or very basic), as explained here http://graphdb.ontotext.com/documentation/free/reasoning.html (Set a default ruleset).
But if you want your SPIN rules, translated to INSERT/UPDATE, to be completely executed you must
1- execute the NSERT/UPDATEs
2- lauch the reasoner
repeat 1 and 2 until no new triple is generated
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
I suppose you can turn off the reasoner by selecting a default ruleset the is empty (or very basic), as explained here http://graphdb.ontotext.com/documentation/free/reasoning.html (Set a default ruleset).
But if you want your SPIN rules, translated to INSERT/UPDATE, to be completely executed you must
1- execute the NSERT/UPDATEs
2- lauch the reasoner
repeat 1 and 2 until no new triple is generated
add a comment |
up vote
0
down vote
I suppose you can turn off the reasoner by selecting a default ruleset the is empty (or very basic), as explained here http://graphdb.ontotext.com/documentation/free/reasoning.html (Set a default ruleset).
But if you want your SPIN rules, translated to INSERT/UPDATE, to be completely executed you must
1- execute the NSERT/UPDATEs
2- lauch the reasoner
repeat 1 and 2 until no new triple is generated
add a comment |
up vote
0
down vote
up vote
0
down vote
I suppose you can turn off the reasoner by selecting a default ruleset the is empty (or very basic), as explained here http://graphdb.ontotext.com/documentation/free/reasoning.html (Set a default ruleset).
But if you want your SPIN rules, translated to INSERT/UPDATE, to be completely executed you must
1- execute the NSERT/UPDATEs
2- lauch the reasoner
repeat 1 and 2 until no new triple is generated
I suppose you can turn off the reasoner by selecting a default ruleset the is empty (or very basic), as explained here http://graphdb.ontotext.com/documentation/free/reasoning.html (Set a default ruleset).
But if you want your SPIN rules, translated to INSERT/UPDATE, to be completely executed you must
1- execute the NSERT/UPDATEs
2- lauch the reasoner
repeat 1 and 2 until no new triple is generated
answered Nov 8 at 22:32
Gilles Falquet
1
1
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f51800842%2fspin-hack-in-graphdb%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
They have rules: graphdb.ontotext.com/documentation/standard/reasoning.html
– Stanislav Kralin
Aug 11 at 15:17
1
I agree that rules are likely the best way to go, but 1) I don't believe that rules can create new IRIs which I require. 2) I want my rules to be written in some standard's based language. 3) The rules I have are fairly complex, which is why I went down the SPIN route in the first place.
– Anuj Khanna
Aug 11 at 18:45
Well, possibly you could try RDF4J: stackoverflow.com/search?q=rdf4j+spin+is%3Aq
– Stanislav Kralin
Aug 11 at 20:09