- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Mon, 9 Feb 2009 22:54:41 +0000
- To: Jiri Prochazka <ojirio@gmail.com>
- Cc: semantic-web@w3.org
Jiri, I'm a bit confused. Could you provide a usage example in Turtle, e.g. how would this be used in the Tag Ontology to relate tag:taggedWithTag and tag:Tagging? Or, going back to another use case mentioned in the thread, to define a class foaf:Relation that reifies foaf:knows? I especially don't understand what :isPromotedProperty is good for. Is it just there so you can apply the vocabulary's idea to itself? The idea as such is excellent, I think. It solves a real problem in vocabulary mapping. Cheers, Richard On 9 Feb 2009, at 20:54, Jiri Prochazka wrote: > Hi, > inspired with recent discussion with Richard Newman ("RDF vocabulary > scope guidelines, promoting properties to classes - property > identifiers") I have a suggestion to make. > > RDF has no way of identifying predicate (property) uses (triples), > which > only restricts information about them to: > 1) about what they state something (domain) > 2) what they state about something (range) > > This is insufficient for number of uses, take for example Richards tag > ontology: http://www.holygoat.co.uk/projects/tags/ > > Apart from properties tag:taggedWithTag and tag:isTagOf, it defines > class tag:Tagging, which extends them (it is these properties promoted > to class), allowing more information about the relation to be > expressed. > > This is a good thing, but unfortunately there is no link between the > properties and the class, which makes the data tagged with the > properties and the data tagged with the class, like they each used > different non-interlinked vocabularies... > > I suggest to develop an extension to the vocabulary describing > vocabularies (RDFS, OWL), so vocabulary designers could specify the > link > and inferencing engines could work with it... > > The vocabulary should map the property to the property-class since the > expressiveness of the property is subset of the one of the property- > class. > > Basically the vocabulary draft should be: > > :isPromotedProperty a rdf:Property ; > rdfs:domain rdfs:Class ; > rdfs:range rdf:Property . > # But also it should use it's own philosophy on itself: > :PropertyPromotion a rdfs:Class ; > rdfs:subClassOf rdf:Property . (really not sure here) > :promotionOf a rdf:Property ; > rdfs:domain :PropertyPromotion ; > rdfs:range rdf:Property . > :hasDomain a rdf:Property ; > rdfs:subPropertyOf rdfs:domain ; (really not sure here) > rdfs:domain :PropertyPromotion . > :hasRange a rdf:Property ; > rdfs:subPropertyOf rdfs:range ; (really not sure here) > rdfs:domain :PropertyPromotion . > # And final craziness: > :PropertyPromotion a :PropertyPromotion ; > :promotionOf :isPromotedProperty ; > :hasDomain rdfs:Class ; > :hasRange rdf:Property . > :PropertyPromotion :isPromotedProperty :isPromotedProperty . > > Important is that the conversion can be done both directions. > > Please comment on this proposal. > If at least some people think this is a good idea, I could work on the > vocabulary and rdfs:label and rdfs:comment it and publish it, > however in > corner of my mind I think it would need backing of W3C to be of any > use > (as all vocabulary describing vocabularies). > > Kind regards, > Jiri Prochazka >
Received on Monday, 9 February 2009 23:08:45 UTC