- From: Roger L. Costello <costello@mitre.org>
- Date: Wed, 09 Jul 2003 06:19:36 -0400
- To: www-rdf-interest@w3.org
- CC: "Thomas B. Passin" <tpassin@comcast.net>, "Costello,Roger L." <costello@mitre.org>
A quick note for now... I was just reading an article about RuleML: "(RuleML) Transformation rules are also useful for expressing mathematical functions ..." This triggered an idea - suppose the we embed a RuleML fragment within an OWL statement. The RuleML fragment describes how to transform, say, miles to kilometers, e.g., <owlx:Transform rdf:ID="MilesToKilometers"> <owlx:tolerance>...</owlx:tolerance> <owlx:inputValue>...</owlx:inputValue> <owlx:outputValue>...</owlx:outputValue> <owlx:inputUnits rdf:resource="#Miles"/> <owlx:outputUnits rdf:resource="#Kilometers"/> <ruleML:trans>...</ruleML:trans> </owlx:Transform> The <ruleML:trans> element contains the RuleML statements which describe how to transform miles to kilometers. Looks promising to me. What do you think? Does anyone have experience with RuleML? /Roger "Thomas B. Passin" wrote: > > [Roger L. Costello" <costello@mitre.org> > To: <www-rdf-interest@w3.org> > Cc: <tpassin@comcast.net>; "Costello,Roger L." <costello@mitre.org> > Sent: Tuesday, July 08, 2003 1:17 PM > Subject: Re: (Round 2) Proposed Extensions to OWL > > > Tom, I have read your latest proposal several times. Let me see if I > > understand it. > > > > The idea is to define an ontology of standard functions. For example, > > this defines how to transform miles into kilometers: > > > > Standard Functions Ontology: > > > > <owlx:Transform rdf:ID="MilesToKilometers"> > > <owlx:tolerance>5%</owlx:tolerance> > > <owlx:inputValue>miles</owlx:inputValue> > > <owlx:outputValue>kilometers</owlx:outputValue> > > <owlx:inputUnits rdf:resource="#Miles"/> > > <owlx:outputUnits rdf:resource="#Kilometers"/> > > <owlx:transform>miles = kilometers * 0.62</owlx:transform> > > </owlx:Transform> > > > > This is not quite what I was thinking about. The example I gave was for a > specific instance of a Transform. In the instance, the inputValue and > outputValue properties would actually contain the URIs for the corresponding > resources. So it would not be > > <owlx:outputValue>kilometers</owlx:outputValue> > > but > > <owlx:outputValue>SomeInstanceOfaLengthValue</owlx:outputValue> > > Of course, with OWL and RDFS you would be able to constrain what kind of > things are allowed to go into those slots, but I only showed an example of > an actual instance. > > Furthermore, > > <owlx:transform>miles = kilometers * 0.62</owlx:transform> > > is not quite what I had. I referred to an (so far imaginary) transform > resource that I called "G", which was unspecified since I am not clear yet > how to specify it. I seriously doubt that we would want to use an unparsed > string for this. Anyway, I am fairly sure that we should make the > transform - or maybe its type - a resource on its own, so that it can be > properly characterized. > > > Suppose an application were to receive this document: > > > > <River rdf:ID="Yangtze"> > > <length> > > <Length> > > <measurement> > > <LengthMeasurement> > > <measurementValue> > > <LengthValue> > > <numericalValue>3914</numericalValue> > > <unitSpecification rdf:resource="#Miles"/> > > </LengthValue> > > </measurementValue> > > <precision>...</precision> > > <source>...</source> > > </LengthMeasurement> > > </measurement> > > </Length> > > </length> > > </River> > > > > And suppose the application wanted to convert the length data in the > > document to a value with units of kilometers. > > > > The application would "consult" the Standard Functions Ontology for a > > Transform which has inputUnits = Miles and outputUnits = Kilometers. > > The transform property then details how to convert the numerical miles > > value into a numerical kilometers value. > > > > Is this an accurate summary of your proposal? /Roger > > > > More or less. The app would have to look up the transform (type) for a > LengthValue that matched the input and output units. I say a "LengthValue" > because maybe for some other kind of measurement, a different transform > would be more appropriate. that remains for a more detailed analysis, I > would say. > > In addition to computing the conversion, the app would be able to create an > instance of the transform, similar to my example, and also of the resulting > LengthValue, and stick those sets of statements back into the data store. > > Everything should be specifiable in OWL except for the actual math part. > > Cheers, > > Tom P
Received on Wednesday, 9 July 2003 06:21:25 UTC