- 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