What might an extension declaration (eg for NAF) look like?
This is based on RIF BLD Conditions.
Informally:
Change: CONDITION ::= 'And' ' ( ' CONDITION* ' ) ' | 'Or' ' ( ' CONDITION* ' ) ' | 'Exists ' Var+ ' ( ' CONDITION ' ) ' | ATOMIC adding a branch, so it's CONDITION ::= 'And' ' ( ' CONDITION* ' ) ' | 'Or' ' ( ' CONDITION* ' ) ' | 'Naf' ' ( ' CONDITION ' ) ' | 'Exists ' Var+ ' ( ' CONDITION ' ) ' | ATOMIC with a fallback of [trim-to-fit, major-soundess]
or, in XML:
<Extension> <comment>Negation as failure...</comment> <semantics>Informally, the "NAF" of a condition is true when the condition cannot be proven by this rule engine to be true. The formal semantics are only defined for using this extension with BLD (and no other extensions). They are as follows.... </semantics> <changeList> <addBranch> <to>CONDITION</to> #really URI <addedSequence> <element>Or</element> #really URI <contentType>CONDITION</conditionType> # really URI </addedSequence> </addBranch> </changeList> <fallback> <TrimToFit> <comment>just drop the subtree</comment> <impact> <type>soundness</type> # really URI <degree>major</degree> # really URI </impact> </TrimToFit> </fallback> </Extension>
Question: where does this go inside a rif:Document?
Question: what does this look like when it's on the web? (is the container a rif:Document, or something else?)
Question: use RDF/XML or custom XML (as above)?
Question: lots of detailed modeling questions, of course. eg what kind of terminology to use (RDFS/OO terms: class/property, grammar terms: production/branch, xml schema terms)
Question: Is this format extensible? How? (Same mechanism, recursively?!?!)