Many thanks Dean. See below for details ...

Dean Allemang wrote:
> You don't need to create D as a subclass of rdfs:Class (by so doing, you 
> are defining a new kind of class - something you don't need to do, and 
> OWL will scold you for doing).

Ok, this triple, in N3, is:

:D a rdfs:Class .

> You just need to create D as a subclass of rdfs:Resource (or owl:Thing).
> 
> It sounds as if you correctly created a property P and set its domain as D.

I believe so, but to be explicit the triple is:

:P a rdf:Property

> Now if you create an instance of D, P should automatically show up on 
> its form.  (actually, this will also happen if you created D as a 
> subClass of rdfs:Class, but a bunch of other weird things will happen if 
> you do that).

Yes, I did observe this in the form. However, I did not expect the 
requirement to assert :x rdf:type :D. Is this actually a requirement, or 
are you just pointing out this feature of the UI with the expectation 
that the paragraph below specifies the triple that supports the expected 
inference?

> 
> In order to invoke the rdfs:domain rule, there has to be a triple with 
> the subject x and the predicate P.  You need to specify an object for 
> that triple.
> 
> 
> So - either
> 1) Create another instance, say y, and assert x P y .  (by putting y 
> into the blank on x's form under property P)
> 2) Re-use you instance x and assert x P x (in the same way as you would 
> for y, but this is more confusing becasue you use x twice)
> 3) Since your property isn't an owl:ObjectProperty, use data instead, 
> and assert a string as the object (in TBC, by selecting "add empty row" 
> next to the P widget on the form for x)

Ok, to address my question above, using option 1) above I have specified 
this triple in two ways.  First as:

:x a :D;
    rdf:object :y;
    rdf:predicate :P .

and second as

:x a rdfs:Resource;
    rdf:object :y;
    rdf:predicate :P .

> Now you have a triple of the form
> 
> x P y .
> or
> x P x  .
> or
> x P "now is the time for all good men to come to the aid of the party" .
> 
> 
> The desired inference should happen now.
> 

In either case the inference provided by TB is as follows:

x rdf:type rdf:Statement. Again, I may have misunderstood the example. I 
thought that my second approach above and the domain rule would produce 
the desired inference, x rdf:type :D.

Or am I trying to avoid my own work expecting swiftowlim to do my work 
for me?

While asking about this, would you be able to tell me how swiftowlim has 
been configured for use with TB? The four standard choices are: empty, 
rdfs, owl-horst and owl-max. A pointer to how to configure these 
choices,  if available, would be appreciated as well!

Thanks, Rick

> 
> > 
> 
> 

-- 
Rick

cell: 703-201-9129
web:  http://www.rickmurphy.org
blog: http://phaneron.rickmurphy.org

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TopBraid Composer Users" group.
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-composer-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to