[214]                             home                             [216]

 

Friday, March 03, 2006

 

Challenge problem à

The Taos Discussion à

 

Generative Methodology Glass Bead Games

 

On the limits of the OWL standard à [184]

Reading material [1]

Reading material [2]

Reading material [3]

Summary of the discussion up to this point à [186]

 

 

On ontological modeling of expression

 

Subtitle: copying an individual between ontologies

 

 

On Formal verses Natural systems à [206]

Restatement of [213] from Jim

 

Paul,

 

So, relative to our phone conversation, I need to make the following clarifications:

 

1.        I am using the terms “individual” and “instance” interchangeably.  If this should not be the case, let me know, but I thought one was from OWL and the other from Protégé.

2.        When I talked about “child instances” vs. “individuals,” I really meant an object web, where the “individual” is the root of the web, and the “child instances” are anything that is not the root. J  The reason I was saying this is that we are dealing with trees of data, where there are definite “parents” and “children.”  Generally, I realize that this is not the case (there is no obvious parent-child relationship required).

3.        The object web I was discussing was for an OWL individual or instance, where the branches of the web are properties and the nodes are objects that the properties relate to.  For example, if I have the classes A and B, and moreover, I have the property hasB with domain A and range B; then an instance of A, the hasA property, and the corresponding instance of B would all be part of the object web.

4.        When I want to copy from one model to another, I am saying that, for example, the A and B classes are defined the same way in both models.  I just want the second model to end up with the same instances of A, the hasB property, and B that the first model has.

5.        In my case, the object web contains potentially many objects of different types.  Therefore, I can’t have a single class for all of them, nor would I want to have one.  Each instance already has at least one class – we don’t need any more.

 

Now, it is clear to me that someone somewhere heeds to perform a “sameAs” calculation on the *classes* of both models so that the copy can know which classes to use in the target model.  What is unclear is whether I need to do this myself manually and then pass that to some copy method or if that will be done for me properly.  The deepCopy method takes a “sameAs” Map, but there’s a warning in there somewhere that says, “always pass null for this,” so that deepCopy can build it.  However, in this case, I’m getting this exception and I don’t know why.  Is there a property or class that is not defined in the target model that the copy needs so it can complete?  Is there some other setup I need to do to tell Protégé that these models are equivalent for everything that will be encountered in the object web that is being copied?

 

Regarding our conversation, you suggested that I might need to export from the first model and then import to the second, which might pull in a bunch of other things besides the instances themselves (like the classes that each instance belongs to).  I am concerned about running this repeatedly and then ending up with a bunch of cruft in the target model (like multiple class definitions that all really are the same class, etc.).

 

So, the question still stands – how can this be done?

 



[1] http://dip.semanticweb.org/documents/ECIS2005-A-Methodology-for-Deriving-OWL-Ontologies-from-Products-and-Services-Categorization.pdf

[2] http://www.mindswap.org/2005/OWLWorkshop/sub1.pdf

[3] http://bip.cnrs-mrs.fr/bip10/rosen.pdf