- From: Frank Manola <fmanola@acm.org>
- Date: Wed, 19 Apr 2006 09:22:15 -0400
- To: Hans Teijgeler <hans.teijgeler@quicknet.nl>
- CC: 'SW-forum' <semantic-web@w3.org>
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