Ok, I think that I found the way to reproduce correctly the error.
It arise when I try to view Diagram (with attributes) of a class that
is domain of a DatatypeProperty with enumerated range (i.e {"male" ,
"female"} ).
I was able to reproduce the error just using this simple owl:
==================================================================
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns="http://www.imolinfo.it/ontologie/test#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.imolinfo.it/ontologie/test">
<owl:Ontology rdf:about="">
<owl:versionInfo rdf:datatype="http://www.w3.org/2001/
XMLSchema#string"
>Created with TopBraid Composer</owl:versionInfo>
</owl:Ontology>
<owl:Class rdf:ID="Person">
<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Person</rdfs:label>
</owl:Class>
<owl:DatatypeProperty rdf:ID="gender">
<rdfs:domain rdf:resource="#Person"/>
<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>gender</rdfs:label>
<rdfs:range>
<rdfs:Datatype>
<owl:oneOf rdf:parseType="Resource">
<rdf:rest rdf:parseType="Resource">
<rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-
syntax-ns#nil"/>
<rdf:first rdf:datatype="http://www.w3.org/2001/
XMLSchema#string"
>female</rdf:first>
</rdf:rest>
<rdf:first rdf:datatype="http://www.w3.org/2001/
XMLSchema#string"
>male</rdf:first>
</owl:oneOf>
</rdfs:Datatype>
</rdfs:range>
</owl:DatatypeProperty>
</rdf:RDF>
<!-- Created with TopBraid -->
==================================================================
This is a custom Person class with datatype property "gender"
declaring an enumerated range: {"male" , "female"}.
If you load this owl in TB 3.5 and try to open Person in the Diagram
with the "Shows attributes" checked it rises the excepion.
The same file in TB 3.4 work without problem.
As u said, is really concerning the user defined datatype....but how
could I make the same in another way resting compliant with OWL 1 (we
don't want to migrate to OWL 2).
Thankyou in advance for the support,
Busa.
On 1 Ago, 11:05, Busa <[email protected]> wrote:
> Hi Holger,
> we only use OWL 1.1 and therefore the datatypes for DatatypeProperty
> range.
>
> But the strange is that now It seems to work now. I think that is
> becouse of I regenerated the .diagram closed an re-opened TB.
> Really at the moment I cant replicare the problem.
> May be that there is some incompatibility from the .diagram of the 3.4
> and the 3.5?
>
> However the only user defined datatype we use are string enumeration
> in some DatatypeProperty ranges (using the syntax {"red", "gree",
> "blue"}.)
>
> Why did you decided to not support them? Could enumerad datatype
> range create some problems?
> I hope however that OWL 1.1 rest supported in future and TB will not
> make the choice made by Protege 4 in this sense (developed ontology
> coded only in OWL 2)
>
> Thanks for the help and I hope you could solve the problem for the
> future.
>
> Matteo
>
> On 28 Lug, 10:57, Holger Knublauch <[email protected]> wrote:
>
>
>
>
>
>
>
> > Hi Busa,
>
> > thanks for the bug report. I think I can see where the problem could be (in
> > our handling of user-defined datatypes), and we will try to verify and fix
> > for the next version. As a work-around, could you double-check that your
> > user-defined datatypes are well-formed in OWL 2 (or could you send me your
> > file off-list so that I can try to reproduce the effect). Just in case: OWL
> > 1.1 datatypes are no longer supported.
>
> > Thanks
> > Holger
>
> > On Jul 28, 2011, at 6:34 PM, Busa wrote:
>
> > > Hi everyone,
> > > I recently migrated from TB 3.4 SE to TB 3.5.1.v20110629-1105R.
> > > All project are therefore OWL 1.
>
> > > The problem is that in the new version when I try to view the diagram
> > > of a class or even load a saved one for the project I get an exception
> > > in Error Log and the Diagram Panel is empty.
> > > The same if I delete the .diagram file of the project and I let TB
> > > regenerate it or even simply cliccking on diagram tab for a selected
> > > class. Same error and Diagram empty.
> > > The same project works perferfectly in 3.4.
>
> > > The exception in Error Log is:
>
> > > ====================================================
> > > eclipse.buildId=unknown
> > > java.version=1.6.0_26
> > > java.vendor=Sun Microsystems Inc.
> > > BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=it_IT
> > > Command-line arguments: -os win32 -ws win32 -arch x86
>
> > > Error
> > > Thu Jul 28 10:25:36 CEST 2011
> > > Unhandled event loop exception
>
> > > java.lang.RuntimeException: java.lang.NullPointerException
> > > at
> > > org.topbraidcomposer.gef.page.AbstractGEFPage.createFormContent(AbstractGEF
> > > Page.java:
> > > 73)
> > > at org.eclipse.ui.forms.editor.FormPage$1.run(FormPage.java:152)
> > > at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:
> > > 70)
> > > at
> > > org.eclipse.ui.forms.editor.FormPage.createPartControl(FormPage.java:
> > > 150)
> > > at org.eclipse.ui.forms.editor.FormEditor.pageChange(FormEditor.java:
> > > 471)
> > > at org.eclipse.ui.part.MultiPageEditorPart
> > > $2.widgetSelected(MultiPageEditorPart.java:290)
> > > at
> > > org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:
> > > 234)
> > > at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> > > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> > > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
> > > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
> > > at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
> > > at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:
> > > 2743)
> > > at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1429)
> > > at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:
> > > 257)
> > > at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> > > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> > > at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:
> > > 4066)
> > > at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
> > > at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
> > > at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
> > > at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
> > > at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
> > > at
> > > org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:
> > > 332)
> > > at
> > > org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:
> > > 663)
> > > at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:
> > > 149)
> > > at
> > > org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication
> > > .java:
> > > 115)
> > > at
> > > org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java
> > > :
> > > 196)
> > > at
> > > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication
> > > (EclipseAppLauncher.java:
> > > 110)
> > > at
> > > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseA
> > > ppLauncher.java:
> > > 79)
> > > at
> > > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:
> > > 369)
> > > at
> > > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:
> > > 179)
> > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> > > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> > > at java.lang.reflect.Method.invoke(Unknown Source)
> > > at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
> > > at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
> > > at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
> > > Caused by: java.lang.NullPointerException
> > > at org.topbraid.owl.model.OWLDataRange.getOnDatatype(OWLDataRange.java:
> > > 169)
> > > at
> > > org.topbraid.owl.model.OWLDataRange.getNamedSuperDataRange(OWLDataRange.jav
> > > a:
> > > 114)
> > > at
> > > org.topbraid.owl.model.OWLDataRange.getNamedSuperDataRange(OWLDataRange.jav
> > > a:
> > > 109)
> > > at
> > > org.topbraid.owl.model.OWLDataRange.getSystemBaseDatatype(OWLDataRange.java
> > > :
> > > 146)
> > > at
> > > org.topbraid.owl.model.OWLDatatypeSystem.getSystemDatatype(OWLDatatypeSyste
> > > m.java:
> > > 22)
> > > at org.topbraid.core.model.Ranges.getSystemRange(Ranges.java:70)
> > > at
> > > org.topbraidcomposer.gef.diagram.parts.AttributeEditPart.getRangeString(Att
> > > ributeEditPart.java:
> > > 87)
> > > at
> > > org.topbraidcomposer.gef.diagram.parts.AttributeEditPart.refreshVisuals(Att
> > > ributeEditPart.java:
> > > 77)
> > > at
> > > org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:
> > > 717)
> > > at
> > > org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphic
> > > alEditPart.java:
> > > 633)
> > > at
> > > org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:
> > > 252)
> > > at
> > > org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraph
> > > icalEditPart.java:
> > > 223)
> > > at
> > > org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:
> > > 211)
> > > at
> > > org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart
> > > .java:
> > > 771)
> > > at
> > > org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:
> > > 718)
> > > at
> > > org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphic
> > > alEditPart.java:
> > > 633)
> > > at
> > > org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:
> > > 252)
> > > at
> > > org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraph
> > > icalEditPart.java:
> > > 223)
> > > at
> > > org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:
> > > 211)
> > > at
> > > org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart
> > > .java:
> > > 771)
> > > at
> > > org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:
> > > 718)
> > > at
> > > org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphic
> > > alEditPart.java:
> > > 633)
> > > at
> > > org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:
> > > 252)
> > > at
> > > org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraph
> > > icalEditPart.java:
> > > 223)
> > > at
> > > org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:
> > > 211)
> > > at
> > > org.eclipse.gef.editparts.SimpleRootEditPart.setContents(SimpleRootEditPart
> > > .java:
> > > 105)
> > > at
> > > org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPar
> > > tViewer.java:
> > > 617)
> > > at
> > > org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPar
> > > tViewer.java:
> > > 626)
> > > at
> > > org.topbraidcomposer.gef.viewer.AbstractGEFViewer.<init>(AbstractGEFViewer.
> > > java:
> > > 56)
> > > at
> > > org.topbraidcomposer.gef.diagram.viewer.DiagramViewer.<init>(DiagramViewer.
> > > java:
> > > 31)
> > > at
> > > org.topbraidcomposer.gef.diagram.page.DiagramEditorPage.createViewer(Diagra
> > > mEditorPage.java:
> > > 123)
> > > at
> > > org.topbraidcomposer.gef.page.AbstractGEFPage.createFormContent(AbstractGEF
> > > Page.java:
> > > 69)
> > > ... 38 more
> > > ===========================================================================
>
> > > Any idea?
> > > I would use the 3.5 version but for this reason I still use the 3.4.
>
> > > Thanx in advance,
> > > Busa.
>
> > > --
> > > 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
--
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