Guil; I'm a little unclear why you are running Jena inferencing after TopSPIN. If you need OWL inferencing, then use the OWL 2 RL profile defined in SPIN. To set this up in Composer, open the model you want to run inferencing on, go to the Ontology Home and choose the Profile sub-tab. Check OWL 2 RL. This will get you RDFS and OWL inferences. This includes OWL 2 inferences, which is more current than Jena Inferencing.
In terms of a SPARQLMotion script, to run all RDFS and OWL 2 inferences, add the rules in /TopBraid/SPIN/owlrl-all into the pipeline. To run OWL and your rules, the script will look like the following: 1a) import myInstances 1b) import myRules 1c) import mySchema 1d) import /TopBraid/SPIN/owlrl-all 2) ApplyTopSPIN 3) Return results (to file, as service, etc.) This will run both your rules (as defined in myRules) and RDFS/OWL inferences (as defined in owlrl-all) on the union of your schema and instance data. I don't believe it matters whether you ignore imports or not for either the instances or schema data. -- Scott On Nov 21, 1:55 am, Guilherme Scomparim <[email protected]> wrote: > Hi Holger, > > Thank you > very much for the explanation, I didn't know that > > I have been > working in two different ways: > > 1) When the rules and the ontology have high > level of cohesion and coupling is required I define > > MySchema (Ontology) > + My Rules in the same OWL file (MyModel) > > MyInstances > imports MyModel > > 2) And when > I want avoid coupling between rules and the ontology, I define: > > mySchema > (ontologies) > > myRules > imports mySchema (MyModel) > > myInstances > imports MyModel > > Based on > that I would always configure my inference in Composer as such: > > TopSPIN > (non-incremental, iteratively) > > Then > > Jena > > And in > SPARQLMotion scripts I: > > 1) import myInstances with ignoreimports (True) > > 2) import MyModel with ignoreimports (False) > > 3) sml:ApplyTopSPIN > > 4) sml:ApplyJenaInferencing > > From what > you said, this may be generating wrong > results, its that right? > > Is it normal > then to have a situation where only one model (type 2) generate the errors I > reported in 352 but not in 340, however all the other models ( type 1 and 2) > don't? > > Now that I m > going to separate rules from ontology how do I configure and run inferences? > > Since I need > to run inferences in both mySchema and myRules over instances How should I > configure the inferences in > Composer since my instance does not import myRules? > > From a Script > perspective is it correct the sequence below? > > 1a) import myInstances with ignoreimports (True) > > 2a) import myRules with ignoreimports (False) > > 3a) sml:ApplyTopSPIN > > then in > parallel > > 1b) import myInstances with ignoreimports (True) > > 2b) import myShema with ignoreimports (False) > > 3b) sml:ApplyJenaInferencing > > 4) Merge 3a > and 3b > > Thank you > very much again? > > Regards, > > Guil > > Guil Scomparim > +61413997827 > > Subject: Re: [topbraid-users] Re: Error when opening some classes in TDB files > From: [email protected] > Date: Sat, 19 Nov 2011 14:45:01 +1000 > To: [email protected] > > Hi Guil, > I assume that you have the SPIN rules in a separate file, e.g. > mySchema (ontologies)myInstances imports mySchemamyRules imports mySchema > If you load all this into a single Jena Model and run inferences over it, > then the Jena rules may add extra triples into the RDF structure of the SPIN > rules, which then either modifies their semantics or even make the rule > unparsable. > So make sure you never include a sub-graph such as myRules into a Model that > also includes Jena inferencing or other automated OWL inferencing. > If this isn't clear, then you may need to elaborate about your specific model > set up and Java code. > Holger > > On Nov 18, 2011, at 9:07 PM, Guilherme Scomparim wrote: > > Hi Holger, > > Sorry for my inexperience, can you explain to me in easy words what > do you mean? > > Thanks, > Guil > > From: Holger Knublauch > Sent: Friday, November 18, 2011 9:58 PM > To: [email protected] > > Subject: Re: [topbraid-users] Re: Error when opening some classes in > TDB files > > Hi > Guil, > > if you run inferences over a SPIN model, then these inferences may > interfere with the RDF syntax of the SPARQL queries, and the string > serialization may fail. Similarly, it's possible to mess up the triples of an > OWL structure through inferences. Make sure to leave the SPIN rules in a > separate graph that is outside of the inference query model. > > (Just a wild guess at what's going on). > > Cheers, > Holger > > On Nov 18, 2011, at 8:40 PM, Guilherme Scomparim wrote: > > Hi Scott, > > Thanks for the information. You are > right, the problem is something on my code. > > I have a model that > when I run Jena and Top SPIN inferences I get the following > error > > Malformed resource: Labels plugin > org.topbraid.spintb.labels.SPINExpressionsLabelsPlugin@5d258f31 could not > render > 5b90bc16:133b62bef3a:-1bfe > java.lang.StackOverflowError > > This same model I use in my save and open SPARQLMotion script where I import > the model and then run the inferences on it. The funny thing is that when I > run the script I do not get any error, it just takes for ever on the jena > inference step on the first time I run it, but after it looked it was > working > ok. > > I am trying to understand what in the file is giving > me error, but it does not really make any sense. Does this message tells > something I should look for? > > This is just happening on 352 > the same model works fine in 340. > > Thanks again, > Guil > > Guil > Scomparim > +61413997827 > > > Date: Thu, 17 Nov 2011 08:01:44 -0800> Subject: > > [topbraid-users] Re: Error when opening some classes in TDB files > > From: [email protected] > > To: [email protected] > > > Guil; It appears you code > > has some problems writing to TDB. This> isn't an issue we can help much > > on. The Jena forum may have some tips> for you. > > > Multiple concurrent commits > > to <urn:x-tb:session> are fully supported> by EVN and Ensemble. > > <urn:x-tb:session> is a graph designed for> representing session > > data in those applications alone. It is not> supported for use in other > applications. > > -- Scott > > > On Nov > > 16, 10:13 pm, "Guilherme Scomparim" <[email protected]> > > wrote: > > > Hi Scott, > > > > Thank you > > for the quick reply. > > > > Here are the steps > > before I got the problem.> > 1) The TDB file was created > > by using the export functionality from a owl> > file a week > ago. > > > 2) I then Set up the teamwork changes > repository > > > 3) I have been updating it with my > > framework that works like EVN where> > instead of using SKOS I have > > an ontology that captures some meta-data and> > perform some > inferences. > > > 4) Yesterday I was already getting some > > errors (null exceptions) when> > opening the file, but with some > > work around, the file would open ok> > 5) Today after > > some more investigation I realised that the error occur> > only on > > files that I changed yesterday. The sequence to simulate the error > > > is by selecting any class (That I included instances yesterday) in the > class> > view when the "instance tab" is the focus or is > selected. > > > 6) Later I could not even open properly > > some of the files. It seams that> > the tdb files got corrupted, > > because if I try to export the models I still> > can open I get the > same error. > > > > I am even started from the > > scratch using my models from the backup before> > yesterday changes. > > But I would like to understand what I done wrong > > > The only thing I can think that I done different yesterday is > that I did> > open all the corrupted models at the same time in > > different tabs of the> > browser, where I performed many scripts > > that have functions that manipulate> > the <urn:x-tb:session> > > graph and commit changes simultaneously in different> > models. Do > > you think this could be the problem? > > > > I hope this > > helps, Thanks again> > Guil > > > > -----Original > Message----- > > > From: Scott Henninger > > > Sent: Thursday, > > November 17, 2011 1:08 PM> > To: TopBraid Suite Users > > Subject: [topbraid-users] Re: Error when opening some classes in TDB > files > > > > Darn, the opening sentence should be "Can you > > provide some information> > on how the TDB files and file connector > > were created?", where the file> > connector is the .tdb > file. > > > > -- Scott > > > > On Nov 16, > > 8:06 pm, Scott Henninger <[email protected]> > > wrote: > > > > Guil; Can you provide some information on how the RDB > files and file > > > > connector were created? You say when > > you select "some classes", so> > > what are the characteristics > > of those class definitions that could be> > > different than > > others? For example, if you also have the Instances > > view open, then Composer will try to cache some class instances. > The> > > problem appears to occur when Composer tries to populate > the Instances > > > > view. So that could explain why it > > happens "some" time, the "some"> > > being when the Instances > > view is open and the class has instances, and> > > also indicates > > problems with instances in the TDB data store.> > > Otherwise, > > we'd need more information on the context of the error to > > > speculate further... > > > > > -- Scott > > > > > On Nov 16, 4:40 pm, Guilherme Scomparim > > <[email protected]>> > > wrote: > > > > > Hi all, > > > > > > When I > > open some of my TDB files in Composer and on the class view I > > > > select some classes I get the error below. > > > > Any ideas on how to fix it? > > > > Regards, > > > > > Guil > > > Operation failed.> > > > On: 17/11/2011 9:35:06 > AM > > > > > Reason: > > java.util.NoSuchElementException > > > at > > org.openjena.riot.tokens.TokenizerText.next(TokenizerText.java:91) > > > > > at > > > > > com.hp.hpl.jena.tdb.nodetable.NodecSSE.decode(NodecSSE.java:100) > > > > at > com.hp.hpl.jena.tdb.lib.NodeLib.decode(NodeLib.java:85) > > > at > com.hp.hpl.jena.tdb.lib.NodeLib.fetchDecode(NodeLib.java:67) > > > at > > > com.hp.hpl.jena.tdb.nodetable.NodeTableNative.readNodeByNodeId(NodeTableNative.java: > > > > > 158) > > > at > > > com.hp.hpl.jena.tdb.nodetable.NodeTableNative._retrieveNodeByNodeId(NodeTableNative.java: > > > > > 85) > > > at > > > com.hp.hpl.jena.tdb.nodetable.NodeTableNative.getNodeForNodeId(NodeTableNative.java: > > > > > 58) > > > at > > > com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java: > > > > > 86) > > > at > > > com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java: > > > > > 57) > > > at > > > com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java: > > > > > > > 43) > > > at > > ... > > read more » -- You received this message because you are subscribed to the Google Group "TopBraid Suite Users", the topics of which include TopBraid Composer, TopBraid Live, TopBraid Ensemble, SPARQLMotion and SPIN. 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-users?hl=en
