You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(11) |
Jul
(3) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(8) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Barry B. <bar...@st...> - 2008-06-17 12:07:39
|
Hi Alessio! registerOntologyNoVerification() also over-writes what is loaded in to that reasoner instance. The only way to load multiple ontologies in to an instance of a WSML reasoner is to load them at the same time with registerOntologies(). This may sound strange, but it is actually very complicated to add an ontology to an existing reasoner. For instance, adding a new ontology could invalidate previous conclusions drawn from the first ontology (a non-monotonic function). So if you have been reasoning with ontology A and then decide to start reasoning with ontologies A + B, you would need to instantiate a new reasoner and load A + B simultaneously. (Or just unregister everything from the first reasoner and re-use it) I hope this helps, barry Alessio Carenini wrote: > Hi, > in the current wsml2reasoner, registerOntology with a single Ontology as > parameter value overwrites the knowledge base (as stated in the javadocs). What about registerOntologyNoVerification(org.omwg.ontology.Ontology ontology) ? > Does it also overwrites the knowledge base? > If I want to dynamically add new ontologies to the current knowledge > base, what method should I use? > > Thanks in advance > Cheers, > > Alessio > -- > -------------------------------------------- > Alessio Carenini > CEFRIEL * Politecnico di Milano > Via Fucini, 2 * 20133 Milano (Italy) > email: ale...@ce... > -------------------------------------------- > > Le informazioni contenute in questa comunicazione e negli allegati sono riservate; e' vietato a soggetti diversi dai destinatari qualsiasi uso, copia, diffusione di quanto in essi contenuto. > Se avete ricevuto questa copia per errore, vi preghiamo di distruggerla immediatamente ed informarci via e-mail. > > Prima di stampare questa e-mail consideratene l’impatto sull’ambiente. Grazie per la collaborazione. > > > This e-mail and any attachment(s) are strictly confidential. This message must not be copied, disclosed or used by anybody other than the intended recipient(s). > If you are not the intended recipient, please inform the sender by e-mail and destroy this message immediately. > > Please consider the environment before printing this e-mail. Thank you for your cooperation. > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Wsml2reasoner-support mailing list > Wsm...@li... > https://lists.sourceforge.net/lists/listinfo/wsml2reasoner-support -- Barry Bishop Senior Scientific Programmer Semantic Technology Institute (STI) University of Innsbruck, Austria ----------------------------------- E-Mail: bar...@st... Tel: +43 512 507 96873 ----------------------------------- |
From: Alessio C. <ale...@ce...> - 2008-06-17 10:34:34
|
Hi, in the current wsml2reasoner, registerOntology with a single Ontology as parameter value overwrites the knowledge base (as stated in the javadocs). What about registerOntologyNoVerification(org.omwg.ontology.Ontology ontology) ? Does it also overwrites the knowledge base? If I want to dynamically add new ontologies to the current knowledge base, what method should I use? Thanks in advance Cheers, Alessio -- -------------------------------------------- Alessio Carenini CEFRIEL * Politecnico di Milano Via Fucini, 2 * 20133 Milano (Italy) email: ale...@ce... -------------------------------------------- Le informazioni contenute in questa comunicazione e negli allegati sono riservate; e' vietato a soggetti diversi dai destinatari qualsiasi uso, copia, diffusione di quanto in essi contenuto. Se avete ricevuto questa copia per errore, vi preghiamo di distruggerla immediatamente ed informarci via e-mail. Prima di stampare questa e-mail consideratene l’impatto sull’ambiente. Grazie per la collaborazione. This e-mail and any attachment(s) are strictly confidential. This message must not be copied, disclosed or used by anybody other than the intended recipient(s). If you are not the intended recipient, please inform the sender by e-mail and destroy this message immediately. Please consider the environment before printing this e-mail. Thank you for your cooperation. |
From: Barry B. <bar...@de...> - 2008-05-21 12:49:41
|
Hi Alessio, Sorry to interrupt this thread, but I have one or two comments. See below: Alessio Carenini wrote: > Hi Florian, > sorry for the delay in replying... > After recompiling and regenerating the javadocs for wsml2reasoner (the ones > one the website are old) I've some comments: > > While I agree to insert methods that allow querying/operating on the > whole knowledge base of the reasoner, I would not mark as deprecated the > methods that selectively allow to operate on a single ontology. > For example: > I load 3 ontologies: o1, o2 and o3 > 1# I want to execute a query just on o3 > OR > 2# I want to unload just o3 and load a 4th ontology (o4) > > Without using the now deprecated methods, to achieve #1 you have to > create another instance of the reasoner, load o3 in it and perform the > query. To achieve #2, you have to unload everything and reload > everything. In previous versions, loading several ontologies together did not merge anything. They just existed in their own space, so it was exactly the same as creating 3 reasoners and loading o1, o2 and o3 in to each one. With the latest version, the entities from each ontology are indeed merged in to the same reasoning space when using registerOntologies(). The new interface (without the deprecated methods) more accurately represents what is going on in the reasoner and allows all possible scenarios. 1# was always possible. In old versions, this was exactly the behaviour you got if specifying ontology o3 as a parameter to a query method. However, in later versions, if you want to execute a query against o3 only then you must create a reasoner and register o3 only. #2 was possible, but since nothing was really merged then there wasn't much point. In the latest version, several ontologies can be loaded in to the same reasoning space, but it is not possible to unload just one. They must all be de registered in one go. If for some reason there is a requirement to execute queries over different combinations of ontologies then simply create a reasoner for each combination. > As for the WSMLQuery object, I miss the reason why the functionalities of this object have to be separated from the main WSMLReasoner object implementation. Anyway, the key point in my opinion is that even if the WSMLQuery becomes the main object (as you don't use directly the WSMLReasoner), > * it must be possible to access the WSMLReasoner object that is used by WSMLQuery, as it offers more methods than just WSML-A queries > OR > * you pass an existing WSMLReasoner object to the constructor of WSMLQuery > OR > * WSMLQuery extends WSMLReasoner implementation The reason that WSMLQuery is separate from WSMLReasoner is because it is not part of the WSML specification. It is actually called "WSML-Flight-A query extensions". In the future it might get added to the WSMLReasoner interface because these extensions can be applied to any WSML variant. We are thinking about this. In the meantime, we prefer your second suggestion, i.e. instantiate a WSMLReasoner, register what you like and use it to make WSMLQuery objects to execute queries. This approach will be appropriate if we decide to hide WSMLQuery entirely behind the WSMLReasoner interface with a new SQL-like-query method. > Another question: is it possible to create n independent instances of the reasoner or is it a singleton? Yes it is possible and no, it is not a singleton. Just use the DefaultWSMLReasonerFactory to create as many reasoners as you want. Regards, barry |
From: Alessio C. <Ale...@ce...> - 2008-05-21 10:42:17
|
Hi Florian, sorry for the delay in replying... After recompiling and regenerating the javadocs for wsml2reasoner (the ones one the website are old) I've some comments: While I agree to insert methods that allow querying/operating on the whole knowledge base of the reasoner, I would not mark as deprecated the methods that selectively allow to operate on a single ontology. For example: I load 3 ontologies: o1, o2 and o3 1# I want to execute a query just on o3 OR 2# I want to unload just o3 and load a 4th ontology (o4) Without using the now deprecated methods, to achieve #1 you have to create another instance of the reasoner, load o3 in it and perform the query. To achieve #2, you have to unload everything and reload everything. As for the WSMLQuery object, I miss the reason why the functionalities of this object have to be separated from the main WSMLReasoner object implementation. Anyway, the key point in my opinion is that even if the WSMLQuery becomes the main object (as you don't use directly the WSMLReasoner), * it must be possible to access the WSMLReasoner object that is used by WSMLQuery, as it offers more methods than just WSML-A queries OR * you pass an existing WSMLReasoner object to the constructor of WSMLQuery OR * WSMLQuery extends WSMLReasoner implementation Another question: is it possible to create n independent instances of the reasoner or is it a singleton? Thanks in advance, Alessio ________________________________________ Da: Florian Fischer [flo...@st...] Inviato: martedì 13 maggio 2008 18.24 A: Alessio Carenini Oggetto: Re: wsml-a queries and already loaded ontologies Ok, I need to be somewhat more precise. In the from clause are of course the ontology identifiers (IRIs). Now, in the last release of wsml2reasoner the handling of multiple registered ontologies has been changed as a first step for the current implementation in a pretty basic way. Largely since previous versions always had issues with this functionality. Registering multiple ontologies in the reasoner merges them at the moment, which is no problem because at this stage they have already been parsed and loaded. So there is little performance penalty for this. This is also the reason why the methods containing explicit ontology identifiers are marked as depreciated. The usage scenario is as following: The user loads an arbitrary number of ontologies as usually. He registers whatever ontologies he wants to include in the reasoning process with the reasoner object. He then does fancy stuff. When he is done he can simply call the .deregister() method (note: without an ontology identifier), which drops the existing knowledge base and allows him to reuse the constructed reasoner object with other ontologies. What I am getting at is the following based on this: * Allow the user to load ontologies as usual (using the WSMO4j for example). * Then, instead of using the reasoner directly (in the way described above), the user can just pass these loaded ontologies to the WSMLQuery object as he sees fit at construction time or so. * The WSMLQuery object than keeps track of the available ontologies and swaps them in the reasoner according to their identifier and as required per query (indicated by the FROM part). By this means we do not have to re-parse ontologies and avoid a lot of overhead. This sort of takes the burden of registering the relevant ontologies from the user, compared to directly using the reasoner interface. Scenario: Provide a large set of preloaded ontologies for the WSMLQuery object, WSMLQuery object inspects specific query, registers relevant ontologies as needed with reasoner object, performs query, done. * The only issues is the absence of required ontologies. In this case I propose that the WSMLQuery implementation just tries to treat the IRI in the FROM part as URL and retrieve the ontology, as a sort of graceful attempt to resolve the problem. If this fails, the only possible solution is obviously to just die with an appropriate exception. Does this make any sense from your point of view? Regarding the time frame, I am most certain that I will be done in the next two weeks or so. Is this fine or when exactly would you need the new version? Furthermore, the title emperor most certainly sounds tempting, however that's not really the case :) Most likely multiple people will be working on wsml2reasoner and the ideal contact address in the near future will then be the wsml2reasoner support mailing list on Sourceforge (http://sourceforge.net/projects/wsml2reasoner/). Pretty much all the relevant people will then be subscribed there, but for now please bear with me :) Sorry for the lengthy and somewhat excessive mail, Florian Le informazioni contenute in questa comunicazione e negli allegati sono riservate; e' vietato a soggetti diversi dai destinatari qualsiasi uso, copia, diffusione di quanto in essi contenuto. Se avete ricevuto questa copia per errore, vi preghiamo di distruggerla immediatamente ed informarci via e-mail. Prima di stampare questa e-mail consideratene l'impatto sull'ambiente. Grazie per la collaborazione. This e-mail and any attachment(s) are strictly confidential. This message must not be copied, disclosed or used by anybody other than the intended recipient(s). If you are not the intended recipient, please inform the sender by e-mail and destroy this message immediately. Please consider the environment before printing this e-mail. Thank you for your cooperation. |