Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Michael Hafner

Pages: 1 2 [3]
Automation Interface, Add-Ins and Tools / Re: ODM #1: Export to OWL
« on: October 23, 2014, 09:32:53 pm »
Dear Alex,

that's what I thought; however, the "ODM" Option in "Extensions" menu (or, as I happen to work with the german interface, "Erweiterungen") is mssing. (The technology is installed, though, and some JScripts are available.)

The missing sparql functionality is a good point, I didn't consider this.
As for the export, lacking the script, I can't say anything about the format at present. :(


Automation Interface, Add-Ins and Tools / ODM #1: Export to OWL
« on: October 17, 2014, 01:18:20 am »
Dear all,

trying out EA's OWL functionality, I can't find the import/export menu.


"The MDG Technology for ODM provides four management commands to help you maintain your ODM models:

Export OWL/RDF models as an .rdf or .xml file

Import OWL or RDF content (in .owl or .rdf xml file format) as an ODM model package


Extensions | ODM | <command>
Extensions | Import | OWL/RDF, or
Extensions | Publish | OWL/RDF"

MDG Technology is available; OWL toolbox and scripts are working properly, but the Extensions menu is empty, and there doesn't seem to be any other way to access these functions.


Dear all,

the OWL toolbox doesn't seem to support the modeling of classes as instances - ?

In UML, we can use generalization sets/ powertypes to partition sets /group sets of subclasses; but I'm afraid this won't translate into an OWL-type during export. We can't use the instance/object element (as we want to classifiy a class), and there is no stereotyped dependency for this either. Of cource, one might create a stereotyped dependency, but the export function would not know we did that.

Any ideas?

Thank you

Note to self :-)

sub main
      dim objTypeLib
      dim strNewGUID
      Set objTypeLib = CreateObject("Scriptlet.TypeLib")
      strNewGUID = objTypeLib.Guid
      Session.Output strNewGUID
end sub

Aaron, Geert,

I really love this forum. You always get answers (quickly), and they always prove helpful.

Thanx a lot!


Ah, thanks a lot, qwerty; that's a big help!

But the Primary Key issue still troubles me.

Any hints?


OK... - Repositoy.SQLQuery works only with SELECT statements. Anything else I can do?  :(

Dear all,

I need to insert new entries into table t_xref via script - or better, I would like to subset properties automatically, and there seems to be no way to do this by using the classes from the Element Feature Package.

However, I can't insert anything into t_xref by Repositoy.SQLQuery because DAO expects a primary key in XrefID - which, in this case, is a GUID.

Is there a way to create valid GUIDs by script?

Thanks for any suggestions.


Well... - I think, the underlying concept is easy; we do this all the time on an everyday basis. "This Brunello is wonderful, but it's to expensive for me." - So obviously there are pricing levels as well as quality aspects to consider:

Generalization Set Price_Level { Expensive_Wine, Cheap_Wine }
Generalization Set Wine_Quality { Wonderful_Wine, Awful_Wine }

I think, multiple inheritance is indispensible in models dealing with semantics. And it might be practical for analytic models, even if you do have to resolve the multi-hierarchy into a mono-hierarchy during design. A matter of taste, I guess. It resembles de-normalization: After having normalized everthing by the book, you decide which tables you actually do need (and how many you can afford in terms of performane etc.).

I, for my part, do not really see the necessity to distinguish between powertype and generalization set. Outside UML (and programming), the terms "class" and "set" are often used more or less synonymously (not counting stuff like "ultimate classes"). Inside UML, a class isn't a set, but a descriptor for a set (outside: a UML::Class would be a specification of the class or set). So if sets go by their classes in UML - why suddenly use the set (generalization set) and the class (powertype) instead of just assigning a powertype?

Thanks again, M.

Thanks, Geert - that's precisely what I needed! I, for my part, hadn't looked into the Repository class deeply enough to know about the SQL-Function. That's great information (I really love EA :-))!

- Yes, the Generalization Set is a UML concept. You can look it up in, page 72f.
It may sound arcane, but if you are working with ontologies where you can't avoid multiple generalization, it comes in handy.

UML's example is about Persons being specialized by gender (Subclasses Male/Female) as opposed to specialization by employment status.

I use it for things like MediaObjects, where you need quadruple specialization with powertypes for, say, SignalType (Analog/Digital), Mode (Audio/Video...), Genre (Music/Speech...), and MediaType (Carrier/File...) to end up with the Analog_Audio_Music_Carrier, the Digital_Audio_Music_Carrier etc. Generalization sets help you to group together the associated relationships (resp. subclasses).

Thank-you very much indeed for pointing out this function to me!

Dear q,
thanks for your reply, but I think, there is a misunderstanding - my problem is not the identification of connectors of the type "Generalization".

You can (via the EA-client) assign to a Generalization one or more Generalization Sets (right click, "Advanced...", "Generalization Set").
A Generalization Set groups together a set of subclasses according to some criterion, e.g. a dimension or principium divisionis. (For the subclasses "Blue", "Green", "Red" of "Ball", the generalization set would be something like "Color"). Associated to a generalization set is (or may be (should be)) one Powertype, the instances of which are the members of the generalization set.

And it is information about this powertype I need to read out. I think, the information is stored in Table t_xref, but I don't know how to obtain it via the API.


Dear all,
I need to read out information about generalization sets via script, but I seem unable to figure out how. I've tried connector attributes "Properties" and "CustomProperties" so far. Can it be done in EA9?

(I need to collect all classes which are elements of the same powertype to put them into a diagram.)


Pages: 1 2 [3]