OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Predicate Logic in XML (was Re: [ANN]: SIX)



Hi,
On the subject of logic in XML, below is what I used for an Expert System on
the Palm. "domain" refers to the knowledge domain, BTW.
Note the decidedly non-conformant title line at the top of the example
document - having any number of Memos with the name "<?xml version='1.0'
en..." didn't seem like a good idea, whatever the spec says. I was intending
to generalise it (as a Schema), but never got around to it...

<?xml encoding="UTF-8"?>
<!-- DTD for KVM Expert System Knowledge Base Domains -->

<!ELEMENT domain (fact+,rule+)>
<!ATTLIST domain name CDATA #REQUIRED>
<!ELEMENT fact (#PCDATA)>
<!ATTLIST fact goal (true | false) "false">
<!ATTLIST fact question (true | false) "false">
<!ATTLIST fact negated (true | false) "false">
<!ELEMENT rule (fact,condition+)>
<!ELEMENT condition (#PCDATA)>
<!ATTLIST condition negated (true | false) "false">

Kex "Example"
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE domain SYSTEM "kex.dtd">
    <domain name="Test Data">

    <!--  *** facts ***  -->
        <fact goal="true">Stone</fact>
        <fact goal="true">Helicopter</fact>
        <fact goal="true">Bird</fact>
        <fact goal="true">Mouse</fact>
        <fact question="true">Is it alive</fact>
        <fact question="true">Can it fly</fact>
        <fact>alive</fact>

    <!--  *** rules ***  -->

        <rule>
            <fact>Helicopter</fact>

            <condition negated="true">alive</condition>
           <condition>Can it fly</condition>
        </rule>

        <rule>
            <fact>Stone</fact>
	<condition negated="true">alive</condition>
            <condition negated="true">Can it fly</condition>
        </rule>

        <rule>
            <fact>Mouse</fact>
            <condition negated="true">Can it fly</condition>
            <condition>alive</condition>
        </rule>

        <rule>
            <fact>alive</fact>
            <condition>Is it alive</condition>
        </rule>

    </domain>

> -----Original Message-----
> From: Henry S. Thompson [mailto:ht@cogsci.ed.ac.uk]
> Sent: 08 January 2001 20:13
> To: Peter Jones
> Cc: 'xml-dev@lists.xml.org'
> Subject: Predicate Logic in XML (was Re: [ANN]: SIX)
>
>
> You might like to have a look at this work by Drew McDermott [1] which
> has some similarities to your SIX proposal.
>
> ht
>
> [1] http://www.cs.yale.edu/homes/dvm/daml/proposal.html
> --
>   Henry S. Thompson, HCRC Language Technology Group, University
> of Edinburgh
>           W3C Fellow 1999--2001, part-time member of W3C Team
>      2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
> 	    Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
> 		     URL: http://www.ltg.ed.ac.uk/~ht/
>