- From: Graham Klyne <GK@Dial.pipex.com>
- Date: Tue, 27 Jun 2000 11:55:23 +0100
- To: Tom Van Eetvelde <tom.van_eetvelde@alcatel.be>
- Cc: "www-rdf-interest@w3.org" <www-rdf-interest@w3.org>
My take would be to define 'DayRange' as a _subclass_ of 'Range', and hence an instance of 'rdf:Class'. I see no definition of '#CompositeValue'. 'Range' might be defined with multiple superclasses 'rdf:Class' and '#CompositeValue'. But the approach suggested by your 'gr' and other properties is to simply apply them to the 'Range' (or 'DayRange') class. [#DayRange] --rdf:Type--------> [rdf:Class] [ ] --rdf:subClassOf--> [#Range] [ ] --#ge-------------> '1' [ ] --#le-------------> '31' Does this not achieve your goal? (I have problems with the use of fragment identifiers in this way, but that's RDF for you.) #g -- At 12:26 PM 6/27/00 +0200, Tom Van Eetvelde wrote: >Hello RDF community, > >I have the following practical problem: how can I restrict >classes/properties to certain values? I >ran into this problem with the creation of a Date class: > ><rdfs:Class rdf:ID="Range"> > <rdfs:Label> Range </rdfs:Label> > <rdfs:comment> > This class represents an interval. > </rdfs:comment> > <rdfs:subClassOf rdf:resource="#CompositeValue"/> ></rdfs:Class> > ><rdfs:Property rdf:ID="gr"> > <rdfs:label> gr </rdfs:label> > <rdfs:comment> > The 'GReater than' property. Defines a lower boundary of the range. > </rdfs:comment> > <rdfs:domain rdf:resource="#Range"/> ></rdfs:Property> > ><rdfs:Property rdf:ID="ge"> > <rdfs:label> ge </rdfs:label> > <rdfs:comment> > The 'Greater than or Equals' property. Defines a lower boundary of > the range. > </rdfs:comment> > <rdfs:domain rdf:resource="#Range"/> ></rdfs:Property> > ><rdfs:Property rdf:ID="ls"> > <rdfs:label> ls </rdfs:label> > <rdfs:comment> > The 'LeSs than' property. Defines an upper boundary of the range. > </rdfs:comment> > <rdfs:domain rdf:resource="#Range"/> ></rdfs:Property> > ><rdfs:Property rdf:ID="le"> > <rdfs:label> le </rdfs:label> > <rdfs:comment> > The 'Less than or Equals' property. Defines an upper boundary of the > range. > </rdfs:comment> > <rdfs:domain rdf:resource="#Range"/> ></rdfs:Property> > ><rdfs:Class rdf:ID="Date"> > <rdfs:Label> Date </rdfs:Label> > <rdfs:comment> > This class represents a date in the format DD/MM/YYYY (day-month-year). > </rdfs:comment> > <rdfs:subClassOf rdf:resource="#CompositeValue"/> ></rdfs:Class> > ><rdfs:Property rdf:ID="day"> > <rdfs:label> day </rdfs:label> > <rdfs:comment> > The day part of the date. > </rdfs:comment> > <rdfs:domain rdf:resource="#Date"/> > <rdfs:range rdf:resource="#DayRange"/> ></rdfs:Property> > ><rdfs:Property rdf:ID="month"> > <rdfs:label> month </rdfs:label> > <rdfs:comment> > The month part of the date. > </rdfs:comment> > <rdfs:domain rdf:resource="#Date"/> > <rdfs:range rdf:resource="#MonthRange"/> ></rdfs:Property> > ><rdfs:Property rdf:ID="year"> > <rdfs:label> year </rdfs:label> > <rdfs:comment> > The year part of the date. > </rdfs:comment> > <rdfs:domain rdf:resource="#Date"/> > <rdfs:range rdf:resource="#YearRange"/> ></rdfs:Property> > >The RDF Shema Spec literally says that 'domain' and 'range' may only have >values of the type >'class'. I wanted to make DayRange an instance of the Range class with >properties ge = 1 and le = >31. But clearly, the Spec forbids this as I would have a value type of >Range <> Class. So, how can I >indicate that the Dayrange runs from 1 to 31 (similar question for month >and year)? > >Regards, > >Tom. ------------ Graham Klyne (GK@ACM.ORG)
Received on Tuesday, 27 June 2000 08:43:12 UTC