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.
