Search Mailing List Archives
[protege-discussion] DataMaster - mapping columns to class members
Csongor Nyulas
csongor.nyulas at stanford.edu
Fri Mar 28 14:55:08 PDT 2008
Hi Paul,
See my answer below.
>
> Hello Csongor
>
> Ok, your method (b) works, I have put in practice. Thanks you very much. Now I
> get the instances imported in the right place and with some little editing
> work I can bring back the classes of my ontology to their original namespace.
> The method applies also to the property of classes, with some extra
> complication however: In fact a direct object properties is correctly imported
> in the ontology, but there is no way to obtain its inverse property. Yes, I
> could create the inverse property later, but then I had to fill the slots
> manually.
>
The good news is that is possible to create inverse properties with
DataMaster. You don't have to specify any extra options, just make sure
that you have n:m relationships defined between some of your tables in
the database by the means of a properly defined "bridge table". The
requirement are described on the wikipage of DataMaster's predecessor,
DataGenie
http://protege.cim3.net/cgi-bin/wiki.pl?DataGenie
Check out the "Automatic handling of bridge tables" point in the
Documentation section.
> One additional desired feature of your method would be to assign to the
> imported instances a name extracted from a specific column of the database,
> can you figure how to do that?
>
> Thanks again
> Paul
>
Instance names are automatically generated based on the table name, and
there is no user option to influence it in DataMaster. We thought this
should be OK in most of the cases, because the names of the instances
should not carry any meaningfull information. The OWL recommendation
specifies that the rdfs:label property should be used to define user
readable names for OWL individuals. You can also use other custom
defined properties to represent instance names, and you can set Protege
(using the "Display Slot" in the Forms tab) to generate the browser text
of your instance based on your preferred property/properties.
You can also write a small script in the ProtegeScriptTab[1] to copy the
values of your preferred columns in rdfs:label or the custom property
you want to use to represent the name of your instances.
I hope this helps.
Regards,
Csongor
[1] http://protege.cim3.net/cgi-bin/wiki.pl?ProtegeScriptTab
More information about the protege-discussion
mailing list