Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [higgins-dev] idas model as entities

Paul, can you look over the latest text at http://wiki.eclipse.org/Higgins/ModelAPIs and let me know what you'd change?


re: attribute types: Right now, the entities that describe attribute types are named for the attribute type they describe so one might have the entityID "http://example.com/prop/fullname".  They currently are all of the type "http://www.w3.org/2000/01/rdf-schema#Property" (as per Markus' suggestion).  Also note that these attribute types only describe simple attributes since now complex attributes are entites (blank or named -- doesn't matter), so those are described as entity types (classes)


re: entity classes: Currently, the entities that describe entity classes are named for the entity type the describe so one might have the entityID "http://example.com/class#Person".  They currently are all of the type "http://www.w3.org/2002/07/owl#Class" (as per Markus' suggestion).


Jim

>>> Paul Trevithick <paul@xxxxxxxxxxxxxxxxx> 09/01/08 8:19 PM >>>

Jim,

I agree with Markus’ general direction here.

A few words on terminology...

I’m going to assume that we call the entities that define new kinds of attributes “Attribute Types” (see the red links here http://wiki.eclipse.org/Attribute) and I’m going to assume that we call the entities that define new kinds of entities “Entity Classes”. I don’t have a word for the id of an Attribute Type. I’ll just see how it goes referring to it as “Attribute Type id”. This id might be a string (e.g. “eye-color”) or an opaque URI (e.g. http://schemas.xmlsoap.org/ws/2005/05/identity/claims/locality) or the UDI of a local Attribute Type entity.

-Paul

On 8/28/08 10:39 AM, "Markus Sabadello" <msabadello@xxxxxxxxxxxxx> wrote:

Sounds great. To me it always felt a bit strange to have this separate "model" construct.

But the first thing that comes to mind when reading the page is, shouldn't the "Entity Model" of an Entity simply be that Entity's OWL Class, and the "Attribute Model" of an Attribute that Attribute's OWL Property? This would be consistent with RDF/RDFS/OWL, because Classes and Properties are Resources themselves.

Then for the "Person Model":
- getEntityID() returns http://example.com/some/name/space#Person (as on wiki page)
- getAttributes() returns http://www.eclipse.org/higgins/ontologies/2008/6/higgins#attributeTypes (as on wiki page)
- getAttributes() returns http://www.w3.org/2000/01/rdf-schema#subClassOf instead of http://www.eclipse.org/higgins/ontologies/2008/6/higgins#supertype (values as on wiki page)
- getType() returns http://www.w3.org/2002/07/owl#Class instead of http://www.eclipse.org/higgins/ontologies/2008/6/higgins#EntityModel

For the "Top Entity Model":
- getEntityID() returns http://www.eclipse.org/higgins/ontologies/2008/6/higgins#Entity (as on wiki page)
- getAttributes() returns http://www.eclipse.org/higgins/ontologies/2008/6/higgins#attributeTypes (as on wiki page)
- getType() returns http://www.w3.org/2002/07/owl#Class instead of http://www.eclipse.org/higgins/ontologies/2008/6/higgins#EntityModel

For "Model for Entity Models" (built into Higgins):
- getEntityID() returns http://www.w3.org/2002/07/owl#Class instead of http://www.eclipse.org/higgins/ontologies/2008/6/higgins#EntityModel
- getAttributes() returns http://www.eclipse.org/higgins/ontologies/2008/6/higgins#attributeTypes (as on wiki page)
- getType() returns http://www.w3.org/2002/07/owl#Class instead of http://www.eclipse.org/higgins/ontologies/2008/6/higgins#EntityModel

For "Model for Model Elements":
- Don't think that's needed. It's the same as the previous one.

For "Attribute Model":
- getEntityID() returns http://example.com/some/name/space#homeAddress (as on wiki page)
- getAttributes() returns http://www.w3.org/2000/01/rdf-schema#range instead of http://www.eclipse.org/higgins/ontologies/2008/6/higgins#valueTypes (values as on wiki page)
- getAttributes() returns http://www.w3.org/2000/01/rdf-schema#subPropertyOf instead of http://www.eclipse.org/higgins/ontologies/2008/6/higgins#supertype (values as on wiki page)
- getAttributes() returns http://www.w3.org/2002/07/owl#minCardinality instead of http://www.eclipse.org/higgins/ontologies/2008/6/higgins#minCardinality (values as on wiki page)
- getAttributes() returns http://www.w3.org/2002/07/owl#maxCardinality instead of http://www.eclipse.org/higgins/ontologies/2008/6/higgins#maxCardinality (values as on wiki page)
- getType() returns http://www.w3.org/2000/01/rdf-schema#Property instead of http://www.eclipse.org/higgins/ontologies/2008/6/higgins#AttributeModel

For "Model for Attribute Models" (built into Higgins):
- getEntityID() returns http://www.w3.org/2000/01/rdf-schema#Property instead of http://www.eclipse.org/higgins/ontologies/2008/6/higgins#AttributeModel
- getAttributes() returns http://www.eclipse.org/higgins/ontologies/2008/6/higgins#attributeTypes (as on wiki page)
- getType() returns http://www.w3.org/2002/07/owl#Class

Wouldn't that be much more consistent with RDF/RDFS/OWL and easier to understand? We would drop the term Model altogether and instead simply attach the Entity metadata and Attribute metadata directly on the OWL classes and properties. In fact, if I remember correctly this is the idea Paul and Valery and I had when talking about these things a while ago.

Also I think an advantage would be that the relation to the CP's schema (IContext.getSchema) would be much clearer. In fact you could even programmatically generate the schema using the calls above.

The only thing we'd have to invent is http://www.eclipse.org/higgins/ontologies/2008/6/higgins#attributeTypes, which would be defined in HOWL as follows:
<higgins:attributeType> <rdfs:inverseOf> <rdfs:domain>

Markus

On Thu, Aug 28, 2008 at 8:47 AM, Jim Sermersheim <jimse@xxxxxxxxxx> wrote:

    
 

 I started drawing a picture to represent what's being talked about at http://wiki.eclipse.org/Higgins/ModelAPIs <http://wiki.eclipse.org/Higgins/ModelAPIs> and I'm thinking there may be  some things I can optimize.  I'm going to run it by some ppl locally and then send something a little more refined.
 

_______________________________________________
higgins-dev mailing list
higgins-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/higgins-dev




Back to the top