No, I'm not getting any errors, and from the log it looks like the spin:rule is getting executed (it's the only one I have right now, although it in turn uses a SPIN:Functions, it's just not producing any results like it does when TopSPIN is used alone or with OWLSwift. I've posted the logs below. The first log is from when I use the Pellet engine, and the second when I use only TopSPIN. It's interesting that using different engines seems to cause different queries to be generated for the same rule: TopSPIN used with Pellet log: !ENTRY org.topbraid.topspin 1 0 2009-01-22 11:05:51.757
!MESSAGE TopSPIN took 312 ms for 1 queries. !ENTRY org.topbraid.topspin 1 0 2009-01-22 11:05:51.757 !MESSAGE Slowest queries: !ENTRY org.topbraid.topspin 1 0 2009-01-22 11:05:51.757 !MESSAGE - 0 ms: PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> PREFIX : <http://www.boeing.com/IVHM/C17relexInst.owl#> PREFIX relex: <http://www.boeing.com/IVHM/relex.owl#> PREFIX tops: <http://www.topbraid.org/tops#> PREFIX sp: <http://spinrdf.org/sp#> PREFIX daml: <http://www.daml.org/2001/03/daml+oil#> PREFIX Common: <http://www.boeing.com/IVHM/Common.owl#> PREFIX C17relexInst: <http://www.boeing.com/IVHM/C17relexInst.owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX SpinLib: <http://www.boeing.com/IVHM/SpinLib.owl#> PREFIX pf: <http://jena.hpl.hp.com/ARQ/property#> PREFIX jfn: <java:com.hp.hpl.jena.sparql.function.library.> PREFIX spl: <http://spinrdf.org/spl#> PREFIX smf: <http://topbraid.org/sparqlmotionfunctions#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX spin: <http://spinrdf.org/spin#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX Relex: <http://www.boeing.com/IVHM/Relex.owl#> PREFIX fn: <http://www.w3.org/2005/xpath-functions#> CONSTRUCT * WHERE { ?this rdf:type ?TYPE_CLASS . ?this Relex:refsSystem ?system . ?system Relex:failureRate ?sysRate . ?this Relex:ratio ?sysRatio LET (?rate := spin:Modules(rdfs:Resource(), rdfs:Resource())) } TopSPIN used alone log: !ENTRY org.topbraid.topspin 1 0 2009-01-22 11:10:36.228 !MESSAGE TopSPIN took 63 ms for 2 queries. !ENTRY org.topbraid.topspin 1 0 2009-01-22 11:10:36.228 !MESSAGE Slowest queries: !ENTRY org.topbraid.topspin 1 0 2009-01-22 11:10:36.228 !MESSAGE - 32 ms: PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> PREFIX : <http://www.boeing.com/IVHM/C17relexInst.owl#> PREFIX relex: <http://www.boeing.com/IVHM/relex.owl#> PREFIX tops: <http://www.topbraid.org/tops#> PREFIX sp: <http://spinrdf.org/sp#> PREFIX Common: <http://www.boeing.com/IVHM/Common.owl#> PREFIX daml: <http://www.daml.org/2001/03/daml+oil#> PREFIX C17relexInst: <http://www.boeing.com/IVHM/C17relexInst.owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX SpinLib: <http://www.boeing.com/IVHM/SpinLib.owl#> PREFIX pf: <http://jena.hpl.hp.com/ARQ/property#> PREFIX jfn: <java:com.hp.hpl.jena.sparql.function.library.> PREFIX spl: <http://spinrdf.org/spl#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX smf: <http://topbraid.org/sparqlmotionfunctions#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX spin: <http://spinrdf.org/spin#> PREFIX Relex: <http://www.boeing.com/IVHM/Relex.owl#> PREFIX fn: <http://www.w3.org/2005/xpath-functions#> CONSTRUCT * WHERE { ?this rdf:type ?TYPE_CLASS . ?this Relex:refsSystem ?system . ?system Relex:failureRate ?sysRate . ?this Relex:ratio ?sysRatio LET (?rate := SpinLib:ratioToRate(?sysRate, ?sysRatio)) } !ENTRY org.topbraid.topspin 1 0 2009-01-22 11:10:36.228 !MESSAGE - 31 ms: PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> PREFIX : <http://www.boeing.com/IVHM/C17relexInst.owl#> PREFIX relex: <http://www.boeing.com/IVHM/relex.owl#> PREFIX tops: <http://www.topbraid.org/tops#> PREFIX sp: <http://spinrdf.org/sp#> PREFIX Common: <http://www.boeing.com/IVHM/Common.owl#> PREFIX daml: <http://www.daml.org/2001/03/daml+oil#> PREFIX C17relexInst: <http://www.boeing.com/IVHM/C17relexInst.owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX SpinLib: <http://www.boeing.com/IVHM/SpinLib.owl#> PREFIX pf: <http://jena.hpl.hp.com/ARQ/property#> PREFIX jfn: <java:com.hp.hpl.jena.sparql.function.library.> PREFIX spl: <http://spinrdf.org/spl#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX smf: <http://topbraid.org/sparqlmotionfunctions#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX spin: <http://spinrdf.org/spin#> PREFIX Relex: <http://www.boeing.com/IVHM/Relex.owl#> PREFIX fn: <http://www.w3.org/2005/xpath-functions#> CONSTRUCT * WHERE { ?this rdf:type ?TYPE_CLASS . ?this Relex:refsSystem ?system . ?system Relex:failureRate ?sysRate . ?this Relex:ratio ?sysRatio LET (?rate := SpinLib:ratioToRate(?sysRate, ?sysRatio)) } ________________________________ From: Holger Knublauch [mailto:[email protected]] Sent: Wednesday, January 21, 2009 4:36 PM To: [email protected] Subject: [tbc-users] Re: SPIN functions and templates (was:Re:ConstructDefaultValues) Hi Jeff, I tried a trivial ontology with one SPIN rule and Pellet then TopSPIN as inference engines, but for me Pellet crashes with an Exception. Are you getting the same error (perhaps check error log)? As TopSPIN is not involved at all at this point, this would be a bug in Pellet. Holger Caused by: java.lang.ClassCastException: org.mindswap.pellet.Literal at org.mindswap.pellet.ABox.getSimpleObjectPropertyValues(ABox.java:1305) at org.mindswap.pellet.ABox.getObjectPropertyValues(ABox.java:1283) at org.mindswap.pellet.KnowledgeBase.getObjectPropertyValues(KnowledgeBase. java:3182) at org.mindswap.pellet.KnowledgeBase.getPropertyValues(KnowledgeBase.java:3 210) at org.mindswap.pellet.jena.PelletInfGraph$ABoxPredObjIterator.findNextPred icate(PelletInfGraph.java:754) at org.mindswap.pellet.jena.PelletInfGraph$ABoxPredObjIterator.<init>(Pelle tInfGraph.java:747) at org.mindswap.pellet.jena.PelletInfGraph$ABoxSubjPredObjIterator.findNext Subject(PelletInfGraph.java:824) at org.mindswap.pellet.jena.PelletInfGraph$ABoxSubjPredObjIterator.hasNext( PelletInfGraph.java:845) at com.hp.hpl.jena.util.iterator.NiceIterator$1.hasNext(NiceIterator.java:8 6) at com.hp.hpl.jena.util.iterator.NiceIterator$1.hasNext(NiceIterator.java:8 6) at org.mindswap.pellet.jena.MultiIterator.hasNext(MultiIterator.java:35) at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.ja va:64) at com.hp.hpl.jena.util.iterator.UniqueExtendedIterator.hasNext(UniqueExten dedIterator.java:69) at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.ja va:64) at com.hp.hpl.jena.util.iterator.FilterIterator.hasNext(FilterIterator.java :43) at com.hp.hpl.jena.graph.compose.CompositionBase$2.hasNext(CompositionBase. java:98) at com.hp.hpl.jena.util.iterator.NiceIterator$1.hasNext(NiceIterator.java:8 6) at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.ja va:64) at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.ja va:64) at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.ja va:64) at org.topbraid.inference.change.AbstractInferenceChange.runReallyNow(Abstr actInferenceChange.java:112) On Jan 21, 2009, at 1:28 PM, Schmitz, Jeffrey A wrote: I'm finally getting a chance to go through the blog posts and have run into a minor issue. I've added a spin:rule to a 'TBox' ontology. I have an ABox ontology that imports this Tbox ontology. When I configure the inferencing on the Aboxontology to only run the TopSPIN engine, the spin:rule I added to the Tbox works. It also works when I add the SwiftOWLIM Engine before the TopSPIN Engine. However, if I instead add the Pellet 1.5.2 engine before the TopSPIN engine, it doesn't seem to execute the rule I added. Is this perhaps a bug? Or is there something else I need to do when using Pellet? Thanks, Jeff ________________________________ From: Holger Knublauch [mailto:[email protected]] Sent: Thursday, January 08, 2009 7:04 PM To: [email protected] Subject: [tbc-users] SPIN functions and templates (was: Re:ConstructDefaultValues) I might suggest that these rules be added to the SPIN vocabulary document, unless they exist elsewhere already, with perhaps an example of using an instantiated Argument for a constraint. Jeff (and others), I just wrote two more blog entries to help clarify SPIN functions [1] and templates [2]. It certainly still does not cover the aspects you are wrestling with but hopefully clarifies the underlying ideas a bit. The second article [2] also contains some bold statements at the end, which I would be interested to get feedback on from anyone. In a nutshell, my observation is that an approach such as SPIN can be used to define new (domain-specific) ontology modeling languages. My claim is that this capability may be an alternative way of unleashing the Semantic Web's full potential. While languages like OWL provide a hard-coded choice of modeling constructs, executable meta-languages like SPIN templates let the users extend the languages and thus let the modeling languages evolve driven by use cases (and not primarily by theoretical considerations like DL). Maybe a bold statement, but I'd like to hear opinions from the TBC users field before we widen up the visibility of SPIN to the larger Semantic Web community and W3C. Regards, Holger [1] Understanding SPIN Functions <http://composing-the-semantic-web.blogspot.com/2009/01/understanding-sp in-functions.html> [2] Understanding SPIN Templates <http://composing-the-semantic-web.blogspot.com/2009/01/understanding-sp in-templates.html> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TopBraid Composer Users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/topbraid-composer-users?hl=en -~----------~----~----~----~------~----~------~--~---
