[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Logic in SIX
- From: Peter Jones <peterj@wrox.com>
- To: "'xml-dev@lists.xml.org'" <xml-dev@lists.xml.org>
- Date: Thu, 15 Feb 2001 18:34:13 +0000
Just in case folks didn't pick it up the patterns the first time around:
SIX
http://www.inpreparation.com/six
It is a lightweight general graph serialization syntax.
It is important to note that different types of SIX document interchange are
specified in the type attribute, and that these types would be created by
agreement between interchange parties (communities).
So if my type was "CLIPS-assertion-set", that would be reflected in the
document content, or if it was "RDF-2.0" that would be too. Because of that
I haven't specified processing models and I haven't restricted the
possibility of document content reinterpretation.
The use of templating instead of separate schemas allows for a more flexible
approach to comparison. Whether a document is a template or an instance is
just a matter of which side of the comparison you place it.
If you are interested in the logic side:
Any portion of a graph can be considered to be the RHS of a Horn clause.
A <= B && C && D
So AND is covered.
I can cover the difference between necessary and sufficient conditions using
the wildcard <wcvar> element in my templates. (Might need processing
directive to be agreed though.) This also creates OR.
Template: B && Wildcard(C) && Wildcard(D)
will be happy if
Instance: B && C, or B && D, or B && C && D.
But if my template was just
Template: B
Then Instance: B && C is acceptable, but the processor won't care because
it's already got B.
Negation is just absence in a template.
Any feedback of any form whatsoever welcome.
cheers,
Peter
Peter Jones
mailto:peterj@wrox.com