Magnus;  What version of Composer are you using?

<I now click the triangle next to the prop name and choose "Add empty
row". In the empty field I type the first letters of the class name I
want to use as object of the prop. Then I hit ctrl+space to get a
completion and select one of the offered classes. The class B I select
is also imported.

THIS does not work, ...>

This does work in 3.2.2.  For example, if I create a model and import
the geotravel.owl model in Composer's TopBraid library/Examples, I can
follow your scenario, including creating a 'matches' property with
domain and range of rdfs:Class, and it appears precisely as you
explain (thanks for the detailed explanation!), except that there is
no error message and all works as expected.

-- Scott

On Jan 7, 10:05 am, Magnus Niemann <[email protected]> wrote:
> Am 07.01.2010 um 16:41 schrieb Scott Henninger:
>
> > Magnus;  I'm a little unclear on exactly where this happens.  When you
> > say "I want to add this prop to a class…" what sequence of actions are
> > you taking?  Are you adding a value to the range of a property?
>
> Okay, the long story:
>
> Method 1)
> The property "matches" is of the type rdf:Property with domain and range 
> rdfs:Class. It is defined in the LOCAL ontology.
>
> I am adding a property row for the property "matches" to an existing class A, 
> using the "Class Form". That class itself is an imported one, i.e. it is 
> living in an IMPORTED ontology. The area "Other Properties" shows my property 
> "matches" without any objects (=targets).
>
> I now click the triangle next to the prop name and choose "Add empty row". In 
> the empty field I type the first letters of the class name I want to use as 
> object of the prop. Then I hit ctrl+space to get a completion and select one 
> of the offered classes. The class B I select is also imported.
>
> THIS does not work, I get the error message "Class or (non-annotation) 
> property name expected", which is strange because the selected name indeed 
> *is* a class name.
>
> Method 2)
> Same as in method 1),, the first two paragraphs. Then I click "Add 
> existing...". In the opening dialog I look for a class (either by navigating 
> to it or by searching with the use of the text field). I click on OK when I 
> find the wanted class B (which is the exactly same one as in method 1) and 
> the class is added as a property object without any problems.
>
> THIS is working. I am able to save the ontology without problems.
>
>
>
> > I think the "inconsistencies" you are experiencing are actually
> > features designed to support OWL syntax.  The message "Class or (non-
> > annotation) property name expected" means that you are trying to add a
> > value that is not allowed in OWL syntax.
>
> As descripted above, in this case (invalid selection of a class) both methods 
> should give me the error message.
>
> > But your description states that you are adding a class and that the
> > difference is whether the class is imported or locally defined.  I
> > wasn't able to find any place where this behavior is different for
> > local vs. imported resources.  So a more precise description of where
> > this occurs will be necessary.
>
> Local vs imported classes: Method 1 from above *does* work, if class B (the 
> property's object) is local. I checked this out some minutes ago with the 
> same ontology. Since domain/range of my property are rdfs:Class, I could use 
> *any* class to test this.
>
> The whole thing would be not that much of a problem if method 1 were not so 
> much faster ...
>
>
>
> > -- Scott
>
> > On Jan 7, 7:43 am, grindcrank <[email protected]> wrote:
> >> I have a property "matches" between classes. When I want to add this
> >> prop to a class with an existing target class ("Add existing ..."),
> >> the following happens:
>
> >> Usually I try to find the target class using the CTRL+SPACE
> >> autocompletion. Imported classes are found by this way but the form
> >> field keeps having a red frame and the error message "Class or (non-
> >> annotation) property name expected" shows in the status bar.
>
> >> When I look up the target class using the class navigation, everything
> >> works out fine. When I add a not imported taregt class (i.e. one that
> >> is in my actual ontology) using the method in the above paragraph,
> >> everything works out fine.
>
> >> This GUI behaviour seem quite inconsistent to me. Has anyone noticed
> >> the same and maybe can offer a workaround?
>
> >> Thanks,
>
> >> Magnus Niemann
>
> --
> Magnus Niemann <[email protected]>
> Weblog:http://grindblog.de| Fotos:http://www.flickr.com/photos/grindcrank/
-- 
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.


Reply via email to