RE: Property instantiation

Oops, when saving the diagrams I overlooked that some older stuff still was
in the top.
Attached are the correct diagrams. Apologies!
Hans

-----Original Message-----
From: semantic-web-request@w3.org [mailto:semantic-web-request@w3.org] On
Behalf Of Hans Teijgeler
Sent: Wednesday, April 19, 2006 16:48
To: 'Frank Manola'
Cc: 'SW-forum'
Subject: RE: Property instantiation

Frank,

Thanks for your response! I think my use of language was the major obstacle
to mutual understanding.

I indeed use the onProperty construct all over the place, no range and
domain at all (too limited).

May I ask you to look at the two attached png diagrams, which show two
alternative (but perhaps equally incorrect) ways of representing a
user-defined ObjectProperty. Please tell me which one is correct. I do this
with pictures because as we know they do tell more than a thousand words.

Regards,
Hans

-----Original Message-----
From: Frank Manola [mailto:fmanola@acm.org]
Sent: Wednesday, April 19, 2006 15:22
To: Hans Teijgeler
Cc: 'SW-forum'
Subject: Re: Property instantiation

Hans--

Some comments below:

Hans Teijgeler wrote:
> Hi Frank,
> 
> Thanks for your response!
> Please see my reactions below.
> 
snip
> 
> 1.  Specifically, what do you mean by "triple at the OWL level"?  In the
> triple "Specialist  isAuthorOf   W3CRecommendation", I assume that
> Specialist and W3CRecommendation are classes, but how is isAuthorOf 
> defined?  As an owl:ObjectProperty?  As a *subproperty* of 
> owl:ObjectProperty?  Note also that OWL can have "instances" (but I'm 
> assuming that when you say "OWL level" you really mean at the level 
> where you define classes, right?).
> 
> [HT] As an instance of owl:ObjectProperty, assuming that Specialist 
> and W3CRecommendation are instances of owl:Class.

I'm still a little uncertain about the exact model here, mainly due to your
original mention of a "triple at the OWL level".  Ordinarily, you would
define both properties and classes at a "metalevel", and instances of them
at the instance level.  So, again ordinarily, you'd define W3CRecommendation
and Specialist as classes, as you say you've done. 
Then, again ordinarily, to define isAuthorOf as a property relating
Specialist and W3CRecommendation, you'd define isAuthorOf as a property
having domain Specialist and range W3CRecommendation.  But I wouldn't 
refer to that as a triple "Specialist  isAuthorOf   W3CRecommendation". 
  Literally, I would interpret the triple "Specialist  isAuthorOf
W3CRecommendation" as an instance of the isAuthorOf property having
Specialist (the class itself, considered as an instance) as subject and
W3CRecommendation (the class itself, considered as an instance) as object
(which seems a bit strange).

Getting back to "the ordinary" however, if Specialist and W3CRecommendation
are classes, and isAuthorOf is a property with domain Specialist and range
W3CRecommendation, then from the triple "frank creator rdfPrimer" you can't
infer any relationship between creator and
isAuthorOf:  creator and isAuthorOf are different properties, and you
haven't defined any relationship between them.

> 
> 2.  when you say you have "an instance such as
> frank          creator        rdfPrimer",
> 
> a.  do you mean that this is supposed to be an instance of a "metalevel"
> triple "Specialist  isAuthorOf   W3CRecommendation"?  But there's no
> explicit connection between them given (that's mainly why my simple 
> answer was no).  How are frank, creator, and rdfPrimer defined?
> 
> [HT] frank rdf:type  Specialist ,  and   rdfPrimer  rdf:type  
> W3CRecommendation . I asked whether in that case creator  rdf:type 
> isAuthorOf, but I guess the answer is still 'no'.

Yes, the answer is still "no".  BTW:  creator rdf:type isAuthorOf would
allow you to infer that isAuthorOf is a *class*, rather than a property,
which is one reason I was asking about what you were doing at the metalevel.

Also BTW, if what you're trying to do is say something like "the author of
any W3CRecommendation must be a Specialist" (presumably as opposed to the
authors of more mundane documents), I'd consider an owl:allValuesFrom
constraint, something like:

<owl:Class rdf:ID="W3CRecommendation">
    <rdfs:subClassOf rdf:resource="#Document" />
     ...
    <rdfs:subClassOf>
       <owl:Restriction>
          <owl:onProperty rdf:resource="#hasAuthor" />
          <owl:allValuesFrom rdf:resource="#Specialist" />
       </owl:Restriction>
    </rdfs:subClassOf>
    ...
</owl:Class>

(no syntactic guarantees here!)

> 
> 3.  Regarding "instantiating properties", an instance of a property is 
> a subject/object pair (OWL Reference, Section 4).  Could you clarify 
> what you mean?
> 
> [HT] If I have the triple Specialist --- isAuthorOf --- 
> W3CRecommendation as explained above,  and given the typing frank --- 
> rdf:type --- Specialist, and rdfPrimer --- rdf:type --- 
> W3CRecommendation then I think that if I cannot state that creator --- 
> rdf:type --- isAuthorOf  I have an uncertainty, because there may be 
> more than one such subject/object pair.  Or is the answer to this 
> problem that the name of the property at owl class level and at 
> instance level shall be the same?

Subject/object pairs of what kind of things?  But in this case, yes: 
you name the property at the "class level", and use the property (name) at
the instance level.

> 
> 4.  By "metaclasses of "Property" do you by any chance mean
> *subclasses* of Property (in OWL, either ObjectProperty or 
> DatatypeProperty)?  E.g., instead of defining isAuthorOf as having 
> rdf:type owl:ObjectProperty (i.e., as being an instance of a 
> property), do you intend to define isAuthorOf as being a *subclass* of 
> owl:ObjectProperty?  (You can do that, but wouldn't, say, defining 
> creator as a subpropety of isAuthorOf do what you want?)
> 
> [HT] I was not intending to define subclasses of ObjectProperty, so I 
> start to believe that the answer to my previous question (having the 
> same property name at class and instance level) will be 'yes'. .

I think your conclusion is right, assuming I understand what you're trying
to do :-)

> 
> If I'm missing things that are really obvious, my excuse is I have a 
> cold.  Also it's a holiday here (Patriot's Day--the start of the 
> Revolutionary War), so further responses may be kind of slow.
> 
> [HT] I am grateful that you responded at all, given those circumstances! 
> I wish you "beterschap!" (get well, in Dutch)

Thanks for your good wishes.

--Frank

--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.4.4/318 - Release Date: 18-Apr-06
 

--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.4.4/318 - Release Date: 18-Apr-06
 
    

--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.4.4/318 - Release Date: 18-Apr-06
 
    

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.4.4/318 - Release Date: 18-Apr-06
 
    

Received on Wednesday, 19 April 2006 15:01:23 UTC