- From: Dickinson, Ian John (HP Labs, Bristol, UK) <ian.dickinson@hp.com>
- Date: Tue, 11 Jan 2005 14:33:40 -0000
- To: "Miles, AJ (Alistair)" <A.J.Miles@rl.ac.uk>
- Cc: <public-esw-thes@w3.org>
Hi Al, > I've often wondered if it would be right to declare ... > > rdfs:subClassOf rdfs:subPropertyOf skos:broader . > > ... ? This question also relates to the earlier discussion > about a 'denotes' property, and bears on the relationship > between OWL semantics and SKOS semantics. Is there a SKOS semantics? I kind of got the idea, perhaps quite wrongly, that SKOS was aiming to create a vocabulary matching some commonly held, intuitive, notions of KS modelling without getting too hung up on semantics. If you want semantic rigour, don't you just use OWL? > This sounds interesting, but I'm not sure exactly what you > mean, could expand this part for me? What do you mean by > 'equivalence' and 'instantiating'? Could you post a snippet > of a meta-properties file? Sure. Using N3 (because I find it a darn sight easier to edit the source code :-) # Tasks tool :tasksTool a :KMAToolConfig ; :title "Tasks" ; :locationX "650"^^xsd:int ; :locationY "100"^^xsd:int ; :width "300"^^xsd:int ; :height "400"^^xsd:int ; :taxonomy :tasksTaxonomy ; :renderingRule [ :ifResourceClass skos:Concept ; :image "images/concept-folder.jpg"^^xsd:string ] ; :renderingRule [ :ifResourceClass kma:Task ; :image "images/task.jpg"^^xsd:string ] ; :renderer :standardRenderer ; :showInstances "true"^^xsd:boolean . # Tasks taxonomy :tasksTaxonomy a :TaxonomySource ; rdfs:comment "The user's personal task taxonomy" ; :rootResource kma:AllTasks ; :rootLabel "My tasks" ; :isEditable "true"^^xsd:boolean ; :broadeningProperty [ a :PropertyReference ; :propertyName skos:broader ] ; :narrowingProperty [ a :PropertyReference ; :propertyName skos:broader ; :useInverseProperty "true"^^xsd:boolean ] ; :equivalenceProperty [ a :PropertyReference ; :propertyName owl:sameAs ] ; :instanceProperty [ a :PropertyReference ; :propertyName skos:subject ; :useInverseProperty "true"^^xsd:boolean ] ; :modelID localJoseki:kmaStore . > SKOS Core does have a 'skos:hasTopConcept' property, which is > there to allow you to indicate the topmost (i.e. broadest) > concepts for a given concept scheme. Yes. I have rootResource as my property, but I could, and probably will, change this to skos:hasTopConcept. > But there is a deeper issue, which is that semantics and > presentation are a little confounded in SKOS Core. I.e. > Although skos:broader or any sub-property thereof is usually > displayed hierarchically, not everyone will want to display > skos:broader this way. And often RDF properties other than > skos:broader are best displayed hierarchically, but those > properties should not be subsumed under skos:broader because > the semantics are inappropriate. Yes, I think this is quite right. There *are* two distinct, but overlapping, sets of needs. Display a data source that has some hierarchical structure in a hierarchy is clearly one need. But the concept of broader and narrower (and isPartOf and part) are important semantic constructs necessary for a variety of reasoning tasks, irrespective of the presentation. skos:broader and skos:narrower, and other such, serve both needs. Note that there is a wrinkle that appears in the above N3. The 'narrowing property' describes how to get the narrower concepts than a given concept. SKOS has skos:narrower for this purpose, but my tasks dataset only stores 'T1 skos:broader T2', and not 'T2 skos:narrower T1'. Assuming an appropriate inference engine, this wouldn't matter. But, seeing that a UI typically won't rely on a reasoner (for reasons previously described), it's important for the taxonomy to describe itself in operational terms. So the "narrowing property" is described as ; :narrowingProperty [ a :PropertyReference ; :propertyName skos:broader ; :useInverseProperty "true"^^xsd:boolean ] which is how you would query for it in the DB. So this seems to be a case where the content description and the presentation can't easily be completely separated. > Essentially I'm talking about separation of style and content > (or in this case style and meaning). I don't think an author > of a concept scheme should specify which properties must be > displayed as a tree, because users of the scheme should be > able to view (i.e. style) a concept scheme in different ways. Agreed. > However, applications such as yours do need a way of > specifying which properties should be used by the application > to generate a tree representation. > > Just a thought, one solution would be to define some RDF > properties whose semantic content is nothing, but whose > default display is as tree generating properties. E.g. you > could define tree:parent and tree:child as RDF properties, > then within your application declare that (skos:broader > style:displayAs tree:parent) and (rdfs:subClassOf > style:displayAs tree:parent). Yes, I like this. Following this through, there's probably a whole set of generic properties and classes that can be used to characterise a data source for the purposes of rendering or displaying it. Respecting the current zeitgeist, this would presumably be DOPS (description of a presentation scheme) or DOUI (description of a UI) or something similar. > If skos:broader were used as a generic tree property (i.e. > you used it as the super-property of all props you want > displayed hierarchically), then it's semantic content would > become almost nothing, because of the many meanings people > have for trees. Agreed. Regards, Ian
Received on Tuesday, 11 January 2005 14:34:15 UTC