Ah, I understand now. Pellet adds some triples before TopSPIN builds the SPARQL queries table. As a result you see the use of spin:Modules (which is a superclass of your specific function). I need to implement a work-around for those cases, e.g. to collect the rules before any other inferencing is done. I assume it will be fixed for beta2.
Thanks for the details! Holger On Jan 22, 2009, at 9:13 AM, Schmitz, Jeffrey A wrote: > 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: > 3210) > at org.mindswap.pellet.jena.PelletInfGraph > $ABoxPredObjIterator.findNextPredicate(PelletInfGraph.java:754) > at org.mindswap.pellet.jena.PelletInfGraph > $ABoxPredObjIterator.<init>(PelletInfGraph.java:747) > at org.mindswap.pellet.jena.PelletInfGraph > $ABoxSubjPredObjIterator.findNextSubject(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:86) > at com.hp.hpl.jena.util.iterator.NiceIterator > $1.hasNext(NiceIterator.java:86) > at org.mindswap.pellet.jena.MultiIterator.hasNext(MultiIterator.java: > 35) > at > com > .hp > .hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java: > 64) > at > com > .hp > .hpl > .jena > .util > .iterator.UniqueExtendedIterator.hasNext(UniqueExtendedIterator.java: > 69) > at > com > .hp > .hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java: > 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:86) > at > com > .hp > .hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java: > 64) > at > com > .hp > .hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java: > 64) > at > com > .hp > .hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java: > 64) > at > org > .topbraid > .inference > .change > .AbstractInferenceChange.runReallyNow(AbstractInferenceChange.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 >> [2] Understanding SPIN Templates >> >> >> >> > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
