Re: Datamodel Strawman (ACTION-298)

> 
> Gary Hallmark wrote:
> > 
> > You think adding xpath to RIF is easier than adding generic lists and 
> > frame types?  
> 
> No. But it may be easier than adding a type/class system for typed 
> frames that is compatible with both RDFS/OWL classes and XMLSchema 
> complex types without giving an appearance of duplication.

I am sure that the opposite is true (especially in view of the fact that
you agree that xpath has no model theory).

> > Does xpath have a model theory?  
> 
> No, I don't think so, but it is not a logic language so one wouldn't 
> expect it to.

But if you integrate it into a logic language then the lack of a model
theory is a problem.

> > If it did, would it be compatible with RIF's?
> 
> Doesn't need to be. The Xpath accessors would simply be builtins working 
> over an opaque datatype, pure side-effect-free functions, no worries :-)

OK, but I do not see how XPath solves the data type problem.


	--michael  

> 
> Dave
> 
> > 
> > Christian de Sainte Marie wrote:
> >> Gary,
> >>
> >> Gary Hallmark wrote:
> >>
> >>> The statement for this action reads "Show how to use XML Schema for 
> >>> App Data Model".
> >>> This begs the question: what is an "App Data Model"?  I believe that 
> >>> we must define such a thing in RIF, and only then can we define a 
> >>> mapping between XML Schema (or relational databases, or OWL, or RDFS, 
> >>> etc.) and this RIF Data Model (RDM).
> >>
> >> During F2F6, in Innsbruck, there seemed to be broad agreement that RIF 
> >> should not invent its own data model/schema language, as Dave and Paul 
> >> point out.
> >>
> >> The action to "show how to use an XML schema for ADM" was seen as 
> >> necessary because it was felt that, although several participants 
> >> (including myself) contented that being able to use a data model 
> >> specified in an XML Schema (or DTD) was a requirement, nobody seemed 
> >> to have a precise idea of what it meant.
> >>
> >> As I understand it, there are basically two places where we may need 
> >> the reference to an external, or application data model:
> >>
> >> 1. when specifying the type of a variable beyond the builtin types 
> >> (and of a slot if we decide that RIF should allow type checking);
> >>
> >> 2. when navigating a data source, that is, to specify data accessors.
> >>
> >> As regards case 1, I suppose that a QName is all we need (in addition 
> >> to  the metadata that will tell us what this ruleset requires, e.g. a 
> >> data model represented by an XML schema, the URI of that schema etc).
> >>
> >> As regards case 2, as I understand it, it is the 'op' property of an 
> >> UNITERM that specifies the path to the data to be accessed, where the 
> >> 'args' give the context.
> >>
> >> E.g., suppose that the data model is specified by the XML Schema in 
> >> [1], and that there is a rule that says (informally) (taken from the 
> >> MISMO POC [2]:
> >>
> >> Forall ?R: Root()
> >> If ?R.division="wholesale" and ?R.occupancy="Investors"
> >> Then r.occupancyAdjustment = 0.95d
> >>
> >> The RIF XML could be (probably not compliant with Sandro's proposed 
> >> rules, but that is not the purpose):
> >>
> >> <Ruleset xmlns:mismo="(the URL in [1]">
> >> ...
> >>   <Rule>
> >>      <Forall>
> >>         <declare>
> >>            <Var>
> >>               <name>?R</name>
> >>               <type>mismo:root</type>
> >>            </Var>
> >>         </declare>
> >>      <if>
> >>         <And>
> >>            <Equal>
> >>               <side>
> >>                  (*) Here we would like something like an XPath expr 
> >> selecting the "division" element where the value of ?R is the context
> >>               </side>
> >>               <side>"wholesale"</side>
> >>  ...
> >>
> >> (*) E.g. <Uniterm><op>mismo:division</op><arg>?R</arg></Uniterm>, 
> >> where the arg could itself be another uniterm if we needed to navigate 
> >> deeper; or a single 'op' could be a complete XPath expression; etc. 
> >> The slotted syntax may be more appropriate for that case, btw.
> >>
> >> The question is: if there is a standard way, associated to the data 
> >> model, to navigate the source - e.g. XPath if the data model is an DTD 
> >> or XML Schema,etc -, should that be the syntax for accessors (and thus 
> >> the syntax for accessor 'op's or slots may vary depending on the data 
> >> model? Or does RIF need to define a RIF "data source navigation 
> >> language" that works for, e.g., XML-S, RDF-S OWL, etc?
> >>
> >> Christian
> >>
> >> [1] 
> >> http://anonsvn.labs.jboss.com/labs/jbossrules/contrib/apocrif/jrules/src/test/resources/xsd/mismo.xsd 
> >>
> >> [2] 
> >> http://anonsvn.labs.jboss.com/labs/jbossrules/contrib/apocrif/jrules/src/test/resources/irl/mismo2.irl 
> >>
> >>
> > 
> 
> 

Received on Monday, 23 July 2007 09:42:35 UTC