- From: Jiri Prochazka <ojirio@gmail.com>
- Date: Mon, 09 Feb 2009 21:54:31 +0100
- To: semantic-web@w3.org
- Message-ID: <49909807.1040201@gmail.com>
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 20:56:35 UTC