[kepler-users] semantic actor suggestion

Shawn Bowers sbowers at ucdavis.edu
Fri Jul 10 11:57:19 PDT 2009


Yeah, this is the same one I was getting too --

Aaron?

Shawn

On Fri, Jul 10, 2009 at 11:49 AM, Chris Weed<chrisweed at gmail.com> wrote:
> After updating from SVN,
> I just tried "Save in Library", and I am getting:
> Exception occurred during event dispatching:
> java.lang.NullPointerException
>        at org.kepler.kar.gui.SaveInLibraryDialog.determineKarFile(SaveInLibraryDialog.java:255)
>        at org.kepler.kar.gui.SaveInLibraryDialog._saveCommand(SaveInLibraryDialog.java:371)
>        at org.kepler.kar.gui.SaveInLibraryDialog.access$0(SaveInLibraryDialog.java:290)
>        at org.kepler.kar.gui.SaveInLibraryDialog$1.actionPerformed(SaveInLibraryDialog.java:646)
>        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
>        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
>        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
>        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
>        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
>        at java.awt.Component.processMouseEvent(Component.java:6216)
>        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
>        at java.awt.Component.processEvent(Component.java:5981)
>        at java.awt.Container.processEvent(Container.java:2041)
>        at java.awt.Component.dispatchEventImpl(Component.java:4583)
>        at java.awt.Container.dispatchEventImpl(Container.java:2099)
>        at java.awt.Component.dispatchEvent(Component.java:4413)
>        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
>        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
>        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
>        at java.awt.Container.dispatchEventImpl(Container.java:2085)
>        at java.awt.Window.dispatchEventImpl(Window.java:2475)
>        at java.awt.Component.dispatchEvent(Component.java:4413)
>        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
>        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
>        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
>        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
>        at java.awt.Dialog$1.run(Dialog.java:1051)
>        at java.awt.Dialog$3.run(Dialog.java:1103)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at java.awt.Dialog.show(Dialog.java:1101)
>        at java.awt.Component.show(Component.java:1516)
>        at java.awt.Component.setVisible(Component.java:1468)
>        at java.awt.Window.setVisible(Window.java:841)
>        at java.awt.Dialog.setVisible(Dialog.java:991)
>        at org.kepler.kar.gui.SaveInLibraryAction.actionPerformed(SaveInLibraryAction.java:83)
>        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
>        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
>        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
>        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
>        at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
>        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)
>        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)
>        at java.awt.Component.processMouseEvent(Component.java:6216)
>        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
>        at java.awt.Component.processEvent(Component.java:5981)
>        at java.awt.Container.processEvent(Container.java:2041)
>        at java.awt.Component.dispatchEventImpl(Component.java:4583)
>        at java.awt.Container.dispatchEventImpl(Container.java:2099)
>        at java.awt.Component.dispatchEvent(Component.java:4413)
>        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
>        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
>        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
>        at java.awt.Container.dispatchEventImpl(Container.java:2085)
>        at java.awt.Window.dispatchEventImpl(Window.java:2475)
>        at java.awt.Component.dispatchEvent(Component.java:4413)
>        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
>        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
>        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
>        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
>        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
>        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
>        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
>
> Is this working for you?
> Chris
>
> On Fri, Jul 10, 2009 at 2:02 PM, Aaron Schultz<aschultz at nceas.ucsb.edu> wrote:
>>
>> Sure, Shawn, I've reenabled "Save in Library" until Save Archive is fully
>> operational.
>>
>> Just remember that if you use Save in Library, then clean-cache, whatever
>> you "Saved In Library" is lost forever.
>>
>> Aaron
>>
>> Shawn Bowers wrote:
>>>
>>> OK -- anyway you can resurrect the "Save in Library" and get it
>>> working as it did w/ the new changes made to KARs/KAR handling, etc.,
>>> until the "Save Archive (KAR)" is functional?
>>>
>>> Shawn
>>>
>>> On Fri, Jul 10, 2009 at 10:04 AM, Aaron Schultz<aschultz at nceas.ucsb.edu>
>>> wrote:
>>>
>>>>
>>>> Shawn, sounds good, if it is not working now as you have described then
>>>> there are still bugs in the code somewhere.
>>>>
>>>> I have done very limited testing on the new code so bugs are quite
>>>> likely...
>>>>
>>>> Aaron
>>>>
>>>>
>>>> Shawn Bowers wrote:
>>>>
>>>>>
>>>>> Hi Aaron,
>>>>>
>>>>> Just to clarify what I'm trying to do (which used to work with the
>>>>> Save in Library feature):
>>>>>
>>>>> 1. Drag an actor from the library onto the canvas
>>>>> 2. Right-click on the actor, select "Semantic Type Annotation..."
>>>>> 3. Annotate an input port of the actor using the "Semantic Type
>>>>> Annotation" widget
>>>>> 4. Right-click on the actor, select "Save Archive (KAR)" (before: Save
>>>>> in Library)
>>>>> 5. Drag the actor back onto the canvas to see that its port annotations
>>>>> survived
>>>>> 6. Search the library for actors with a matching input annotation type
>>>>>
>>>>> When I now do step 4, I only seem to be able to save to the
>>>>> "Workflows" directory using the Save Archive (KAR) action. When I do
>>>>> this, I run into the following problems:
>>>>>
>>>>> A. The actor shows up under "Workflows", but it appears to be a
>>>>> workflow (a can icon?).
>>>>> B. I am not able to do anything with this component, e.g., I cannot
>>>>> open it (in the tree view), I cannot drag it onto the canvas,
>>>>> double-clicking it does nothing, right-clicking it does nothing, etc.
>>>>> C. I am able to search for it by name, but not by its original
>>>>> semantic type annotations (on actors or ports).
>>>>>
>>>>> In general, I like the idea of being able to save to local folders
>>>>> (assuming one can do the above at a minimum), although it would also
>>>>> be nice to be able to save to the library as well (and then as an
>>>>> additional feature, "save the library" ...).  However, if we are going
>>>>> to have "Save Archive (KAR)" replace the prior "Save in Library"
>>>>> feature, it should at least support the above features.
>>>>>
>>>>> Shawn
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Jul 10, 2009 at 8:46 AM, Aaron Schultz<aschultz at nceas.ucsb.edu>
>>>>> wrote:
>>>>>
>>>>>
>>>>>>
>>>>>> It should query the user if no sem types are found.  However it is no
>>>>>> longer
>>>>>> required to add sem types before saving since the ability to display
>>>>>> non
>>>>>> sem
>>>>>> typed objs in the library now exists (folders).
>>>>>>
>>>>>> -Aaron
>>>>>>
>>>>>> On Jul 10, 2009, at 8:35 AM, Matt Jones <jones at nceas.ucsb.edu> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Aaron,
>>>>>>>
>>>>>>> When you do 'Save Archive', it creates a kar file on disk.  Does it
>>>>>>> also add it to the Library, and does it check that semantic types have
>>>>>>> been assigned as the old 'Save in Library...' function did?
>>>>>>>
>>>>>>> Matt
>>>>>>>
>>>>>>> On Fri, Jul 10, 2009 at 7:31 AM, Aaron
>>>>>>> Schultz<aschultz at nceas.ucsb.edu>
>>>>>>> wrote:
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> It has been replaced by save archive
>>>>>>>>
>>>>>>>> -Aaron
>>>>>>>>
>>>>>>>> On Jul 10, 2009, at 8:05 AM, Shawn Bowers <sbowers at ucdavis.edu>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hi Chris,
>>>>>>>>>
>>>>>>>>> It looks like this is happening (possibly) because of changes to the
>>>>>>>>> StringParameter hierarchy, which now throw NPEs if no named object
>>>>>>>>> and
>>>>>>>>> name is given to the constructor.  The semantic search functionality
>>>>>>>>> was written a while back (circa 2005), and not really used other
>>>>>>>>> than
>>>>>>>>> a prototype/demonstration. It could use revamping.
>>>>>>>>>
>>>>>>>>> I think I might have fixed it though. However, I cannot easily test
>>>>>>>>> this since the "Save in Library" functionality was removed, which
>>>>>>>>> would allow modified actors to be saved in the library, and then
>>>>>>>>> easily searched.  Typically, I would add sem types to ports and then
>>>>>>>>> save them to the library. This would then allow me to search for
>>>>>>>>> actors using this dialog or using the "suggest compatible
>>>>>>>>> components"
>>>>>>>>> dialog.
>>>>>>>>>
>>>>>>>>> I've CC'd Aaron Schultz (a Kepler developer at NCEAS) who might know
>>>>>>>>> why this was removed, and whether similar functionality was added (I
>>>>>>>>> can't find it if it was).  When I bring back the "Save in Library"
>>>>>>>>> (via uiContextMappings configs) I get exceptions for building KAR
>>>>>>>>> files ...
>>>>>>>>>
>>>>>>>>>  [run] Exception in thread "AWT-EventQueue-0"
>>>>>>>>> java.lang.NullPointerException
>>>>>>>>>  [run]    at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> org.kepler.kar.gui.SaveInLibraryDialog.determineKarFile(SaveInLibraryDialog.java:255)
>>>>>>>>>  [run]    at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> org.kepler.kar.gui.SaveInLibraryDialog._saveCommand(SaveInLibraryDialog.java:371)
>>>>>>>>>  [run]    at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> org.kepler.kar.gui.SaveInLibraryDialog.access$100(SaveInLibraryDialog.java:98)
>>>>>>>>>  [run]    at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> org.kepler.kar.gui.SaveInLibraryDialog$1.actionPerformed(SaveInLibraryDialog.java:646)
>>>>>>>>>  [run]    at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Shawn
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Jul 7, 2009 at 11:47 AM, Chris Weed<chrisweed at gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> What about the Semantic Search functionality?
>>>>>>>>>> This looks similar to what I am interested in, but when I try to do
>>>>>>>>>> a
>>>>>>>>>> search I get "No search criteria specified"
>>>>>>>>>> I really expect that this would return a result for the search I
>>>>>>>>>> specified.
>>>>>>>>>> Chris
>>>>>>>>>>
>>>>>>>>>> On Wed, Jul 1, 2009 at 1:48 PM, Shawn Bowers<sbowers at ucdavis.edu>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Hi Chris,
>>>>>>>>>>>
>>>>>>>>>>> Most of the semantic annotation code is now a bit old (3-4 yrs),
>>>>>>>>>>> and
>>>>>>>>>>> was a prototype. Prior to this version we actually had an approach
>>>>>>>>>>> based on a SPARQL implementation, however, it was decided that
>>>>>>>>>>> Kepler
>>>>>>>>>>> should adopt an "object manager" approach, which stores actors and
>>>>>>>>>>> actor metadata (including semantic annotations of actors) using
>>>>>>>>>>> MoML
>>>>>>>>>>> and within a relational (in-memory) db. So, SPARQL wouldn't work
>>>>>>>>>>> for
>>>>>>>>>>> this, unless we went to an RDF approach for representing
>>>>>>>>>>> annotations,
>>>>>>>>>>> metadata, etc. Another problem with SPARQL (I think this is what
>>>>>>>>>>> you
>>>>>>>>>>> meant) at least from my experience is that it is more focussed on
>>>>>>>>>>> querying resources and their properties, and less useful for
>>>>>>>>>>> querying
>>>>>>>>>>> over class definitions. The latter requires a reasoner (like
>>>>>>>>>>> Pellet,
>>>>>>>>>>> Fact++, etc.). Finding actors based on their semantic types is all
>>>>>>>>>>> about matching class definitions, and not about searching for
>>>>>>>>>>> class
>>>>>>>>>>> instances.
>>>>>>>>>>>
>>>>>>>>>>> Anyway, we are currently in the process of revamping the
>>>>>>>>>>> annotation
>>>>>>>>>>> interfaces to make it easier and hopefully more obvious to folks
>>>>>>>>>>> that
>>>>>>>>>>> actors (and their ports) can be tagged (e.g., a draft plan for
>>>>>>>>>>> this
>>>>>>>>>>> is
>>>>>>>>>>> here:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> https://kepler-project.org/developers/incubation/GUI/kepler-tagging).
>>>>>>>>>>> So far, zero Kepler actors have their ports annotated. But perhaps
>>>>>>>>>>> with some UI changes more actors will be annotated, etc.  We are
>>>>>>>>>>> also
>>>>>>>>>>> making changes so that basic types of ontology creation and
>>>>>>>>>>> editing
>>>>>>>>>>> are exposed and available from within Kepler. Again, this might
>>>>>>>>>>> make
>>>>>>>>>>> the annotation capabilities more usable.
>>>>>>>>>>>
>>>>>>>>>>> If you would like to help with any of this (designing and/or
>>>>>>>>>>> implement
>>>>>>>>>>> ui's, designing apis, suggesting features, architecture,
>>>>>>>>>>> technology's,
>>>>>>>>>>> etc.) that would be awesome!
>>>>>>>>>>>
>>>>>>>>>>> Shawn
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Jul 1, 2009 at 10:18 AM, Chris Weed<chrisweed at gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>> I have a few questions about the semantic annotation
>>>>>>>>>>>> functionality.
>>>>>>>>>>>> I noticed in the semantic search browser it displays the
>>>>>>>>>>>> properties,
>>>>>>>>>>>> but I wasn't sure if it used that for doing searches.
>>>>>>>>>>>>
>>>>>>>>>>>> Also, I was looking through the code for performing the semantic
>>>>>>>>>>>> actor
>>>>>>>>>>>> suggestion,
>>>>>>>>>>>> and it looks like it uses a hand-coded matching algorithm instead
>>>>>>>>>>>> of
>>>>>>>>>>>> a
>>>>>>>>>>>> SQARQL
>>>>>>>>>>>> based inference engine. Would it make sense to update this
>>>>>>>>>>>> functionality
>>>>>>>>>>>> which would allow more sophisticated searches with properties.
>>>>>>>>>>>>
>>>>>>>>>>>> Chris
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Kepler-users mailing list
>>>>>>>>>>>> Kepler-users at kepler-project.org
>>>>>>>>>>>>
>>>>>>>>>>>> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Kepler-users mailing list
>>>>>>>> Kepler-users at kepler-project.org
>>>>>>>> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>> Matthew B. Jones
>>>>>>> Director of Informatics Research and Development
>>>>>>> National Center for Ecological Analysis and Synthesis (NCEAS)
>>>>>>> UC Santa Barbara
>>>>>>> jones at nceas.ucsb.edu                       Ph: 1-907-523-1960
>>>>>>> http://www.nceas.ucsb.edu/ecoinfo
>>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>> _______________________________________________
>> Kepler-users mailing list
>> Kepler-users at kepler-project.org
>> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
>>
>



More information about the Kepler-users mailing list