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

Received on Wednesday, 19 April 2006 13:32:50 UTC