Re: Converging SCL's XCL and SWRL's RuleML for FOL Extensions

From: Pat Hayes ([email protected])
Date: 06/11/04

  • Next message: Mike Dean: "Joint Committee telecon tomorrow 15 June"
    >Hi JC Colleagues,
    >as we envisaged in today's Joint Committee telecon,
    >the XML notation for SCL, XCL 
    Er...I thought I made it clear that this was not the final form for 
    XCL. I only posted this document in order to clarify some issues 
    about "XML style" that XCL will adopt.  Please don't take the XCL 
    syntax in this document as correct or definitive. In particular, the 
    treatment of the simple implication given there is not how XCL will 
    write it, but is more like the XCL rendering of a typed quantification
    (forall ((x TrailerTruck)) (eighteenWheeler x))
    than the direct implication
    (forall (x) (implies (TrailerTruck x)(eighteenWheeler x)))
    Of course the former is syntactic sugar for the latter, but it is a 
    distinct syntactic form in  SCL. A minimal SCL kernel would use only 
    simple (untyped) quantification, and, not and implies.
    >and the XML notation for SWRL rules, RuleML 
    >could be converged for the FOL extensions to SWRL.
    >Today we also discussed the (URI-)naming of layered FOL subsets
    >that contain the current Horn/DL combination.
    >One such FOL subset could add explicit, nested quantifiers to SWRL rules
    >(as suggested for the Issues List); another could add disjunction / 
    >classical negation.
    >Implications in XCL could be converged to the RuleML Horn-rule syntax.
    >Formulas beyond SWRL's Horn/DL combination could benefit from XCL.
    >Appended is an example using an implication from the above XCL draft.
    >XCL, Section 3.3. Core Elements, uses a sorted notation:
    >(FORALLx:TrailerTruck) => eighteenWheeler(x)
    >     <xcl xmlns="<>">
    >       <formula>
    >         <conn name="implies">
    >           <quant name="forall" variable="x">
    >             <type>TrailerTruck</type>
    >           </quant>
    >           <pred name="eighteenWheeler">
    >             <term name="x"/>
    >           </pred>
    >         </conn>
    >       </formula>
    >     </xcl>
    >To keep things simple, let's use TrailerTruck as a unary predicate here:
    >FORALL(?x)TrailerTruck(?x) => eighteenWheeler(?x)
    >The current RuleML 0.85 assumes implicit quantifiers, obtaining:
    >   <_body>
    >     <atom>
    >       <_opr><rel>TrailerTruck</rel></_opr>
    >       <var>x</var>
    >     </atom>
    >   </_body>
    >   <_head>
    >     <atom>
    >       <_opr><rel>eighteenWheeler</rel></_opr>
    >       <var>x</var>
    >     </atom>
    >   </_head>
    >For RuleML 0.9 explicit quantifiers are envisaged as an option, here
    >introducing a type tag <forall> with role tags <_bind> and <_form>
    >for its 'variable-binding' child and its 'formula' child, respectively:
    >   <_bind>
    >     <var>x</var>
    >   </_bind>
    >   <_form>
    >     <imp>
    >       <_body>
    >         <atom>
    >           <_opr><rel>TrailerTruck</rel></_opr>
    >           <var>x</var>
    >         </atom>
    >       </_body>
    >       <_head>
    >         <atom>
    >           <_opr><rel>eighteenWheeler</rel></_opr>
    >           <var>x</var>
    >         </atom>
    >       </_head>
    >     </imp>
    >   </_form>
    >The type tag <exists> can employ the same child elements.
    IHMC	(850)434 8903 or (650)494 3973   home
    40 South Alcaniz St.	(850)202 4416   office
    Pensacola			(850)202 4440   fax
    FL 32501			(850)291 0667    cell
    [email protected]

    This archive was generated by hypermail 2.1.4 : 06/11/04 EST