- From: Gary Hallmark <gary.hallmark@oracle.com>
- Date: Mon, 16 Jul 2007 09:29:49 -0700
- CC: RIF WG <public-rif-wg@w3.org>
Well, we have to invent Yet Another Rule Language (maybe 2: Horn and PR) in order to have a standard onto which to map all of our favorite yet nonstandard ones. I don't know why the situation should be different for Application Data Models. Maybe someone can propose a concrete alternative? Paul Vincent wrote: >+1 > >(With apologies as I have not checked the debate from last week's call). > >My concern is re inventing Yet Another Data Representation language, >just because we have a semantic web + common data processing communities >of interest. > >Paul Vincent >TIBCO | ETG/Business Rules > > > >>-----Original Message----- >>From: public-rif-wg-request@w3.org >> >> >[mailto:public-rif-wg-request@w3.org] > > >>On Behalf Of Dave Reynolds >>Sent: 16 July 2007 09:01 >>To: Gary Hallmark >>Cc: RIF WG >>Subject: Re: Datamodel Strawman (ACTION-298) >> >> >>[Sorry I'm going to top post rather than do a point-by-point comment >>because I seem to be suffering from context failure.] >> >>At Innsbruck the chairs pointed out that RIF should not invent yet >>another schema language. For that reason when we adopted the Frames >>proposal several people (myself included) opposed the Classification >>proposal. Though we didn't formally reject the Classification proposal >>either. >> >>This RIF data model seems to be based broadly on the Classification >>approach, or at least on strongly typed frames, and seems to replicate >>parts of XML Schema into RIF. >> >>Is this necessary? >> >>Could we just have untyped frames in RIF plus a mapping from those to >>XML, leaving all syntactic type validation to the XML schema >> >> >processing? > > >>Or could we have a set of builtins for navigating XML data from within >>RIF (for example, XPath like)? >> >>Dave >>-- >>Hewlett-Packard Limited >>Registered Office: Cain Road, Bracknell, Berks RG12 1HN >>Registered No: 690597 England >> >>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). >>> >>>*RIF Data Model >>> >>>*Informally, a RDM is a set of "frame types". A frame type >>> >>> >specifies > > >>>the type (URI) of the frame and the names and types of the slots. A >>> >>> >slot > > >>>type is one of the RIF-supported XML Schema datatypes, the name of a >>>frame, or is unspecified (meaning "any type"). >>> >>>*Abstract Syntax >>>* >>>class FrameType >>> property type : Const >>> property slots : List of SlotType >>> >>>class SlotType >>> property name : Const >>> subclass SingletonSlotType >>> property type : Const? >>> subclass ListSlotType >>> property elementType : Const? >>> >>>At this point, I'm not exactly sure what we decided on in Innsbruck >>> >>> >for > > >>>the ASN for frames, so I'll make assumptions here: >>> >>>class Frame >>> property oid: TERM >>> property type: Const >>> property slots: list of Slot >>> >>>class Slot >>> property name: TERM >>> property value: TERM >>> >>>*Semantics >>>* >>>A Frame's type may be the same as a FrameType's type. If so, then >>> >>> >the > > >>>Frame's slots must agree in number, name, and type with the >>> >>> >FrameType's > > >>>slots. >>> >>>*Lists >>> >>>*XML Schemas define lots of 1-to-many relationships using the >>>"maxOccurs" attribute. This is modeled in RDM using generic lists. >>> >>> >A > > >>>generic list has an optional type parameter to constrain the type of >>> >>> >the > > >>>list elements. >>> >>>*Friendly Syntax >>>* >>>FrameType ::= 'type' CONSTNAME '[' (CONSTNAME '->' SlotTypeName)* >>> >>> >']' > > >>>SlotTypeName ::= SORTNAME | 'list' ['<' SORTNAME '>'] >>> >>>*Examples >>> >>>*type book [ author->string title->string ] >>> >>>wd1#book [ author->?X title->LeRif ] // ?X must unify with a >>> >>> >>string >> >> >>>type bookshelf [ contents->list<book> ] >>> >>>mybooks#bookshelf [ contents->list( wd1#book [author->Christian >>>title->LeRif] wd2#book [author->ChrisW title->"The RIF Book"]) ] >>> >>>*XML Schema >>> >>>*I believe that frame types as described above with the addition of >>> >>> >a > > >>>generic list type are sufficient to model most complexTypes of XML >>>Schema. Additional mechanism is needed to model the "facets" of >>> >>> >simple > > >>>types such as value space restriction using enumeration, regex, and >>>numeric range restriction. >>> >>>Note the XML Schema specification is complex and "real world" >>> >>> >mapping > > >>>technologies such as JAXB 2.0 [1] have specifications that are well >>> >>> >over > > >>>300 pages long. It is unlikely RIF can handle all the "corner >>> >>> >cases". > > >>>[1] http://jcp.org/aboutJava/communityprocess/pfd/jsr222/index.html >>> >>> > > > > -- Oracle <http://www.oracle.com> Gary Hallmark | Architect | +1.503.525.8043 Oracle Server Technologies 1211 SW 5th Avenue, Suite 800 Portland, OR 97204
Received on Monday, 16 July 2007 16:30:27 UTC