- From: Toby Inkster <tai@g5n.co.uk>
- Date: Tue, 1 Sep 2009 21:38:33 +0100
- To: Renato Iannella <renato@nicta.com.au>
- Cc: Harry Halpin <hhalpin@ibiblio.org>, Norman Walsh <ndw@nwalsh.com>, Brian Suda <brian.suda@gmail.com>, <www-archive@w3.org>, "Martin Hepp (UniBW)" <martin.hepp@ebusiness-unibw.org>
On 1 Sep 2009, at 05:50, Renato Iannella wrote: > Toby (all), how would we express this model in the new merged > document? > > Can we say that the Tel Property has a range of "rdf:type" values? > (is that even possible?) Something like: <#alice> v:tel [ a v:Cell, v:Voice; rdf:value <tel:+441234567890> ] . This would require definitions of the following classes: v:Tel a rdfs:Class . v:Email a rdfs:Class . v:Address a rdfs:Class . v:Label a rdfs:Class . v:Home rdfs:subClassOf [owl:unionOf (v:Tel v:Address v:Label)] . v:Msg rdfs:subClassOf v:Tel . v:Work rdfs:subClassOf [owl:unionOf (v:Tel v:Address v:Label)] . v:Pref rdfs:subClassOf [owl:unionOf (v:Tel v:Email v:Address v:Label)] . v:Voice rdfs:subClassOf v:Tel . v:Fax rdfs:subClassOf v:Tel . v:Cell rdfs:subClassOf v:Tel . v:Video rdfs:subClassOf v:Tel . v:Pager rdfs:subClassOf v:Tel . v:BBS rdfs:subClassOf v:Tel . v:Modem rdfs:subClassOf v:Tel . v:Car rdfs:subClassOf v:Tel . v:ISDN rdfs:subClassOf v:Tel . v:PCS rdfs:subClassOf v:Tel . v:Internet rdfs:subClassOf v:Email . v:X400 rdfs:subClassOf v:Email . v:Dom rdfs:subClassOf [owl:unionOf (v:Address v:Label)] . v:Intl rdfs:subClassOf [owl:unionOf (v:Address v:Label)] . v:Postal rdfs:subClassOf [owl:unionOf (v:Address v:Label)] . v:Parcel rdfs:subClassOf [owl:unionOf (v:Address v:Label)] . Which is quite a few. Introducing an extra property is only a tiny bit more work: v:usage rdfs:subPropertyOf rdf:type ; rdfs:range v:CommunicationsUsage . # For all of the classes above # except Tel, Email, Address and Label: ?class a v:CommunicationsUsage . It's probably also useful to define v:Tel, v:Email, v:Label and v:Address as mutually disjoint: v:Tel owl:disjointWith v:Email, v:Label, v:Address . v:Email owl:disjointwith v:Label, v:Address . v:Label owl:disjointWith v:Address . With all that in place, you can write: <#alice> v:tel [ rdf:type v:Tel ; v:usage v:Cell, v:Voice ; rdf:value <tel:+441234567890> ] . -- Toby A Inkster <mailto:mail@tobyinkster.co.uk> <http://tobyinkster.co.uk>
Received on Tuesday, 1 September 2009 20:39:34 UTC