- From: David Martin <martin@ai.sri.com>
- Date: Sun, 03 Aug 2003 22:35:51 -0700
- To: "'www-ws@w3.org'" <www-ws@w3.org>, Feng Pan <pan@ISI.EDU>
Feng - So far I've only had time to glance at these proposed additions to the Congo example. I think they look like the right way to go, but I think we will also need to go one step further. That is, for each subclass of DeliveryDuration, we will need to restrict the values of the properties minDeliveryDuration and maxDeliveryDuration, so as to indicate the relevant intervals. Either hasValue or toValue restrictions will be appropriate here (I forget which is best for this kind of case). For instance, for FedEx2-3dayDuration, a restriction will say that "any instance of this class will have an instance of the minDeliveryDuration property with value 2" and similarly for maxDeliveryDuration having value 3. Let me know if this needs further clarification. Thanks very much, David Martin -------- Original Message -------- Subject: Time in DAML-S: another two possible additions to the Congo use case Date: Thu, 17 Jul 2003 00:59:43 -0700 From: Feng Pan <pan@ISI.EDU> To: <martin@AI.SRI.COM> Hi David, Another two possible additions to the Congo use case are: 1) Add "process time", i.e. how long the book will be ready for delivery, say 24 hours, which depends on whether the book ordered is available, i.e. in stock. In this use case, the process time will be returned only if the book ordered is in stock. 2) Add "delivery duration", i.e. how long the customer will receive the book since it's shipped out, which depends on the delivery type the customer selects. However, since an instance of "Condition" is a logical formula that evaluates to true or false, "DeliveryType" cannot be directly used as a condition to determine the delivery duration. So one property and one condition are defined for each delivery type. "DeliveryDuration" has two boundaries, one "minDeliveryDuration" and one "maxDeliveryDuration". For example, an ordinary mail takes 6 to 10 days. For FedEX one day delivery, the min and max delivery duration are both 1 day. The portion of code in OWL that can be added to CongoProcess.owl is attached below. Please let me know if you have any suggestions or comments on these two possible additions. thanks, Feng <!DOCTYPE uridef[ ... <!ENTITY time "http://www.isi.edu/~pan/damltime/time-entry.owl <http://www.isi.edu/%7Epan/damltime/time-entry.owl>"> ... ]> <!-- The "process time", i.e. how long the book will be ready for delivery, say 24 hours, depends on whether the book ordered is available, i.e. in stock. In this example, the process time will be returned only if the book ordered is in stock. --> <rdf:Property rdf:ID="fullCongoBuyProcessTime"> <rdfs:subPropertyOf rdf:resource="&process;#output"/> <rdfs:domain rdf:resource="#FullCongoBuy"/> <rdfs:range> <owl:Class> <rdfs:subClassOf rdf:resource="&process;#ConditionalOutput"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&process;#coCondition"/> <owl:allValuesFrom rdf:resource="#BookInStock"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&process;#coOutput"/> <owl:allValuesFrom rdf:resource="#ProcessTime"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> </rdfs:range> </rdf:Property> <owl:Class rdf:ID="ProcessTime"> <rdfs:subClassOf rdf:resource="&time;#Interval"/> </owl:Class> <!-- The "delivery duration", i.e. how long the customer will receive the book since it's shipped out, depends on the delivery type the customer selects. However, since an instance of "Condition" is a logical formula that evaluates to true or false, "DeliveryType" cannot be directly used as a condition to determine the delivery duration. So one property and one condition are defined for each delivery type. --> <!-- "DeliveryDuration" has two boundaries, one "minDeliveryDuration" and one "maxDeliveryDuration". For example, an ordinary mail takes 6 to 10 days. For FedEX one day delivery, the min and max delivery duration are both 1 day. --> <owl:Class rdf:ID="DeliveryDuration"> <rdfs:subClassOf> <owl:Restriction owl:cardinality="1"> <owl:onProperty rdf:resource="#minDeliveryDuration"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction owl:cardinality="1"> <owl:onProperty rdf:resource="#maxDeliveryDuration"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <rdf:Property rdf:ID="minDeliveryDuration"> <rdfs:domain rdf:resource="#DeliveryDuration"/> <rdfs:range rdf:resource="&time;#Interval"/> </rdf:Property> <rdf:Property rdf:ID="maxDeliveryDuration"> <rdfs:domain rdf:resource="#DeliveryDuration"/> <rdfs:range rdf:resource="&time;#Interval"/> </rdf:Property> <owl:Class rdf:ID="FedExOneDayCondition"> <rdfs:subClassOf rdf:resource="&process;#Condition"/> </owl:Class> <owl:Class rdf:ID="FedEx2-3dayCondition"> <rdfs:subClassOf rdf:resource="&process;#Condition"/> </owl:Class> <owl:Class rdf:ID="UPSCondition"> <rdfs:subClassOf rdf:resource="&process;#Condition"/> </owl:Class> <owl:Class rdf:ID="OrdinaryMailCondition"> <rdfs:subClassOf rdf:resource="&process;#Condition"/> </owl:Class> <rdf:Property rdf:ID="deliverySelectFedExOneDay"> <rdfs:subPropertyOf rdf:resource="&process;#output"/> <rdfs:domain rdf:resource="#SpecifyDeliveryDetails"/> <rdfs:range> <owl:Class> <rdfs:subClassOf rdf:resource="&process;#ConditionalOutput"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&process;#coCondition"/> <owl:allValuesFrom rdf:resource="#FedExOneDayCondition"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&process;#coOutput"/> <owl:allValuesFrom rdf:resource="#FedExOneDayDuration"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> </rdfs:range> </rdf:Property> <owl:Class rdf:ID="FedExOneDayDuration"> <rdfs:subClassOf rdf:resource="#DeliveryDuration"/> </owl:Class> <rdf:Property rdf:ID="deliverySelectFedEx2-3day"> <rdfs:subPropertyOf rdf:resource="&process;#output"/> <rdfs:domain rdf:resource="#SpecifyDeliveryDetails"/> <rdfs:range> <owl:Class> <rdfs:subClassOf rdf:resource="&process;#ConditionalOutput"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&process;#coCondition"/> <owl:allValuesFrom rdf:resource="#FedEx2-3dayCondition"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&process;#coOutput"/> <owl:allValuesFrom rdf:resource="#FedEx2-3dayDuration"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> </rdfs:range> </rdf:Property> <owl:Class rdf:ID="FedEx2-3dayDuration"> <rdfs:subClassOf rdf:resource="#DeliveryDuration"/> </owl:Class> <rdf:Property rdf:ID="deliverySelectUPS"> <rdfs:subPropertyOf rdf:resource="&process;#output"/> <rdfs:domain rdf:resource="#SpecifyDeliveryDetails"/> <rdfs:range> <owl:Class> <rdfs:subClassOf rdf:resource="&process;#ConditionalOutput"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&process;#coCondition"/> <owl:allValuesFrom rdf:resource="#UPSCondition"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&process;#coOutput"/> <owl:allValuesFrom rdf:resource="#UPSDuration"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> </rdfs:range> </rdf:Property> <owl:Class rdf:ID="UPSDuration"> <rdfs:subClassOf rdf:resource="#DeliveryDuration"/> </owl:Class> <rdf:Property rdf:ID="deliverySelectOrdinaryMail"> <rdfs:subPropertyOf rdf:resource="&process;#output"/> <rdfs:domain rdf:resource="#SpecifyDeliveryDetails"/> <rdfs:range> <owl:Class> <rdfs:subClassOf rdf:resource="&process;#ConditionalOutput"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&process;#coCondition"/> <owl:allValuesFrom rdf:resource="#OrdinaryMailCondition"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="&process;#coOutput"/> <owl:allValuesFrom rdf:resource="#OrdinaryMailDuration"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> </rdfs:range> </rdf:Property> <owl:Class rdf:ID="OrdinaryMailDuration"> <rdfs:subClassOf rdf:resource="#DeliveryDuration"/> </owl:Class>
Received on Monday, 4 August 2003 01:35:56 UTC