Ontology recommendation for Object-Relationship Mapping

Dear all -

I am a beginner in ontology world, and I am looking for a good ontology for general object relationship mapping, i.e., mapping properties/fields in tables, forms, templates, or objects in general. By "good" I mean: it is simple (relative to expressive power), easy to use, easy to understand, and popular (say other people are using it or at least know something about). I don't want to invent something of my own:).

The user scenarios generally involves mapping between template or form-generated objects. For example:

Having a "Member" form and we want to define a mapping to translate/transform it into a "Person" form.

The fields in "Member" and "Person" will be different, containing a "Name" (can be a whole field or separate fields such as First, Middle, Last names etc.) and phone numbers (such as mobile, work, home phone numbers etc.) and so on.

I want to be able to map, say Person.FirstName + <space> + Person.LastName ==> Member.(Full)Name, and Member.BusinessPhone ==> Person.DayTimePhone, Member.HomePhone ==>Person.EveningPhone or "Person.PhoneList[1]", Person.PhoneList[2] as an array. I also want to specify which fields are optional vs. mandatory; and it'll be nice to support structure (hierarchy) and meta-data mapping or conversion, say from a "Date" type to a "DateTime" type conversion or to a "String" type coercion, and so on. One thing I need or at least prefer is to support "functions" in converting, mapping the fields, as in the example above of name, it can also be parsing a full US address into separate components such as street, city, state, postal code and so on... so the function is a mapping predicate in this scenario.

A more involved scenario will be the capability to specify some rules or restrictions such as cardinality and/or priority to map fields, e.g., from all phone numbers (i.e. a list of Person's phone numbers) to one phone number, with priority fill the first non-empty number in a the list. But this is only something nicer to have.

I found http://www.fedora-commons.org/definitions/1/0/fedora-relsext-ontology.rdfs meets some of my requirements in that it describes the relationship between objects, but it is more for _describing_ the relationship than mapping or construction. OWL and RDFS to me only for describing too, at an even more abstract and theoretic level to be useful.

If you have any questions on why I need it and what I need do, please feel free to ask me.

Any tips or comments are appreciated.

Jesse Wang
Vulcan Inc.
505 5th Ave. S, Suite 900
Seattle, WA 98104
Direct Phone: (206) 342-2306
Direct Fax: (206) 342-3306
Mobile: (206) 295-6316

Received on Thursday, 20 August 2009 15:32:21 UTC