Tim,

 

I think they just belong to different namespaces – one is a design namespace 
and another is a build namespace. And there is a relationship between them, but 
it does not have to be rdf:type relationship. It could be any relationship you 
create.

 

Otherwise, you are into punning which is really a cope out.

 

This is my view, but you can do whatever works.

 

Regards,

 

Irene

 

From: [email protected] [mailto:[email protected]] 
On Behalf Of Tim Williams
Sent: Monday, January 20, 2014 2:27 PM
To: [email protected]
Subject: Re: [topbraid-users] Looking for part-whole relations Example for 
TopBraid

 

Thank you for the advice, Irene.   I'm struggling with the use case because I 
have two usage scenarios:

 

In one case I am cataloging parts when they come off a car during the 
restoration process. So I need to know all of the engine parts of "Car #1" vs. 
all the parts from "Car #2".  It makes sense to model this based on instances.  
Part 1 is a direct Part of the instance of Engine 1. 

 

On the other hand I want to catalog an inventory of parts that are purchased 
new and sitting on the shelf. This could later become part of Car #1 or Car #2, 
depending on future need and the fact that some parts are interchangeable 
between some cars. This makes more sense (to me) on a Class basis.

 

I am using whole-part relations so I can easily query "just engine parts that 
directly make up the engine internals" , for example.

 

I will keep playing!

 

Cheers,

 

Tim

On Thursday, January 16, 2014 4:37:10 PM UTC-5, Irene Polikoff wrote:

First question to consider is if you are planning to manage individual 
instances of cars, engines, etc. If you are not, then you could create a single 
class such as CarComponent, declare that your isDirectPartOf property has it as 
both domain and range and make Car, Engine, etc. members of this class 
connecting them as appropriate. 

 

If you plan to manage instances of cars and parts, make them subclasses of the 
CarComponent class, then start creating OWL restrictions. For example, to say 
that class Engine is a subclass of things that are a direct part of a Car. In 
this case, you may also want to consider using a property going into another 
direction, so that you could, for example, say that a car must have an engine 
or that it must have 4 wheels or whatever.

 

I don't know if you really need to differentiate between direct and indirect 
properties. It depends on what application you are envisioning and how you are 
planning to use inferencing. In SPARQL you can get all transitive parents or 
children by simply using a star (*) at the end of the property.

 

Regards,

 

Irene Polikoff




On Jan 15, 2014, at 3:05 PM, Tim Williams <[email protected] <javascript:> > 
wrote:

Hi Folks,

 

I am new to TopBraid and OWL generally so please forgive my ignorance.

 

I am trying to develop an example ontology for an inventory of car parts. For 
example, let's say I have classes for:

 

Car

Engine

EngineInternal

EngineCylinderhead

EngineIntake

Part

 

Where Cars have Engines, Engines have Internal, Cylinderhead and Intake 
components.   Parts is  general class for all parts.

 

I want to express the parts break down using isPartOf , isDirectPartOf 
relations, so I can find "all Engine Parts", for example.


To do this I have defined the properties:

  isPartOf  as transitive

        isDirectPartOf as a subproperty of isPartOf.  It is NOT transitive.

 

How do I best apply the isDirectPartOf?  Must I apply the property to both 
Classes and Instances as it appears to state in the W3 guidance?  

 

http://www.w3.org/2001/sw/BestPractices/OEP/SimplePartWhole/simple-part-whole-relations-v1.3.html
   (see Pattern1 for an inventory approach)

If I create and instance of a Car (Car-1), an Engine (Engine-1), a Cylinderhead 
(Cylinderhead-1) and a Part (Part-1)  I can make the instance Part-1 have 
property isDirectPartOf CylinderHead-1, CylinderHead-1 isDirectPartOf Engine-1, 
Engine-1 isDirectPartOf Car-1, and the parts roll up as expected. But is this 
the correct approach?  Shouldn't I also have SubClassOf relations like  "Engine 
isDirectPartOf some Car" ?

How best to do this in TopBraid?

I look forward to any advice or examples you can provide.


Cheers,

Tim

-- 

-- 
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary 
Network (EVN), TopBraid Composer, TopBraid Live, TopBraid Insight, 
SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

-- 
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary 
Network (EVN), TopBraid Composer, TopBraid Live, TopBraid Insight, 
SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to