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?!?!)