[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: [ANN]: SIX

  • From: Peter Jones <peterj@w...>
  • To: "'Clark C. Evans'" <cce@c...>
  • Date: Tue, 09 Jan 2001 10:38:52 +0000

type of six
Hi Clark,

Assuming I were to take this seriously...  ;)

That's difficult to say, because I haven't done any sort of formal analysis.
However, I would suggest that they are roughly equivalent at the basic
instance level (although I've gone to enormous lengths - a couple of minutes
thought, at least ;) - to try and ensure that a clear delineation between
assertions and rules remains in SIX [SIX contains only assertions, and only
points at rule-sets], whereas I think there is some logic overflow in RDF).
However, I feel that it is far too easy to burden RDF with domain specific
syntax (which is imho a foul idea) and for which you need a weighty schema
that mixes all sorts of approaches.

You can do all sorts of things with SIX but the syntax remains the same.

The schema level is totally different. I provide only for assertion
templates (or something), and the current mechanism of SIX allows you to
assert properties of slots as #PCDATA in a <wcvar> element if you want to do
that sort of thing. If you want datatype validation for a type of SIX
document write a separate XML Schema.

cheers,
Peter

-----Original Message-----
From: Clark C. Evans [mailto:cce@c...]
Sent: 09 January 2001 01:32
To: Peter Jones
Subject: Re: [ANN]: SIX



How does this relate to RDF?

;) Clark

On Mon, 8 Jan 2001, Peter Jones wrote:

> Date: Mon, 08 Jan 2001 14:05:45 +0000
> From: Peter Jones <peterj@w...>
> To: "'xml-dev@l...'" <xml-dev@l...>
> Subject: [ANN]: SIX
> 
> In the spirit of making the times more interesting, I knocked this up on
> Sunday night. Maybe it's a joke and maybe it isn't --I'm not the greatest
of
> spec writers and I haven't been in computing long enough to claim to be
any
> kind of expert -- it just seemed like a good idea at the time, and maybe
> someone will find some useful idea in there somewhere. If anyone wants to
> take it seriously, drop me a line.
> 
> -pj
> 
> Specification for SIX ("Stuff in XML") -- Draft for version 1.0
> Copyright Peter P. Jones 2001, peterj@w...
> This version: 2001-01-07
> 
> AIMS:
> To create a really useful interchange format for Stuff - metadata
> information, or whatever. So here is SIX (pronounced 'six'), an attempt to
> do all those useful things - and any others you can think of - in a neat
> way. I'm not going to specify much in the way of processing if at all. Do
> what you like with it.
> 
> STRUCTURES ( - brackets are for clarity) :
> 
> statement ::= (subject (object*| wcvar*))   -- statement is a subject and
> zero or more objects or wildcard placeholders
> subject ::= (predicate(object+| wcvar+))    -- subject is a predicate
> attached to at least one object or wildcard placeholders
> 
> A predicate is a name string.
> 
> A statement can be qualified by the optional 'reciprocal' qualifier to
state
> whether the predicate is bi-directional or not.
> reciprocating statement ::= reciprocal(subject (object* |wcvar*))
> 
> A statement can be qualified by an optional 'namespace' qualifier to
> indicate whether the statement is only valid within a particular
namespace.
> 
> namespaced statement ::=
> namespace(namespaceName, (subject (object*|wcvar*)) )
> OR
> namespace(namespaceName, reciprocal(subject (object*|wcvar*)) )
> 
> A namespaceName can be any string.
> 
> Although 'namespace' is treated as a keyword here, assertion of
containment
> of one namespace by another can be asserted with a 
> standard statement - 'contains' is not a keyword here, just a predicate
> chosen by the statement author:
> 
>    (contains(namespaceName) (namespaceName) )
> 
> So this statement can also be namespaced
>   
>    namespace(namespaceName, (contains(namespaceName) (namespaceName) )
> 
> And so on for predicates other than 'contains'.
> 
> Every statement has an ID that is unique within the document.That is, the
ID
> on the left-hand side of this statement MUST be unique within the
document.
> ID <- statement
> Any ID string within a statement's objects that matches a statement's ID
> could be considered to be a reference to an ID on the LHS. A statement
> should not refer to its own ID - but you could do that if you were that
way
> inclined.
> 
> An object can be an ID string, or a string in a namespace. An object can
be
> a URI for example. It is up to the processing system whether the URI is
> understood to be an address of a resource or not.
> 
> In interchange XML syntax (Example):
> 
> <?xml version="1.0" ?>
> <six type="TopicSet" about="whateverThemeYouWant">
> <statement ID="asdf234ff25"
namespace="//ME//MYSELF//andTheBigBrownBear/--"
> >
>    <subject>
>       <predicate predicatename="is-in-love-with" reciprocal="yes">
>              <object objstring="YOUR7686868" ></object>
>              <object ...></object>
>              ...
>              <object ...></object>
>       </predicate>
>    </subject> 
>          <object ...></object>
>          <object ...></object>
>          ...
>          <object ...></object>
> </statement>
> <statement>
> ...
> </statement>
> <ruledoc rulesref="http://..." >Some text describing the rule-set or
> something like that</ruledoc>
> ...
> <ruledoc rulesref="http://..." ></ruledoc>
> </six>
> 
> The <six> root element has an attribute 'about'. This can be used by the
> document author to suggest that the statement set is concerned with some
> thing rather than others. The recipient of a SIX document is under no
> obligation to pay any attention to this suggestion, and can treat the data
> in ways that do not respect this suggestion if they wish to do so.
> 
> The <six> root element also has an attribute 'type'. This can be used by
the
> document author to suggest that the document is a particular type of SIX
> document as opposed to others. The recipient of a SIX document is under no
> obligation to pay any attention to this suggestion, and can treat the data
> in ways that do not respect this suggestion if they wish to do so.
> 
> <ruledoc> elements are an entirely optional means of indicating an
> association between some set of rules specified elsewhere with the
statement
> set in the document. SIX document recipients can choose to ignore this
> indication if they wish to do so. How recipients deal with the indication
if
> they don't ignore it is entirely up to them.
> 
> SIX can have schemas for statements. These differ only from statement
> instances in that they can contain wildcard placeholders if desired. These
> can be partial statement schemas, containing a mixture of objects and
> wildcard placeholders, or complete schemas containing only wildcard
> placeholders (<wcvar> elements in the XML syntax).
> 
> Statements have a 'grouped' attribute. This indicates whether a statement
> should be viewed as:
> 
> grouped="yes" implies:
> (v1, v2, v3, v4,...) -- predicate -- (x1, x2, x3, x4,...)
> 
> grouped="no" implies:
> v1 -- predicate -- x1
> v2 -- predicate -- x2
> v3 -- predicate -- x3
> v4 -- predicate -- x4
> ...
> Recipients can ignore the indication provided by the 'grouped' attribute
if
> they wish to.
> 
> SIX XML DTD (Normative):
> 
> <!ELEMENT six (statement*, ruledoc*) > 
> <!ELEMENT statement (subject, (object|wcvar)* >
> <!ELEMENT subject (predicate) >
> <!ELEMENT predicate (object|wcvar)+ >
> <!ELEMENT object   (#PCDATA) >
> <!ELEMENT wcvar    (#PCDATA) >
> <!ELEMENT ruledoc (#PCDATA) >
> <!ATTLIST six
>             about  CDATA   #IMPLIED
>             type  CDATA   #IMPLIED
> >
> <!ATTLIST statement
>             ID               CDATA   #REQUIRED
>             grouped      (yes|no) "no"
>             namespace  CDATA   #IMPLIED
> >
> <!ATTLIST predicate
>             predicatename    CDATA  #REQUIRED
>             reciprocal           (yes| no)  "no"
> >
> <!ATTLIST object
>             objstring      CDATA #REQUIRED
> >
> <!ATTLIST object
>             rulesref      CDATA #REQUIRED
> >
> 
> Licensing: It's Smileware. Anyone can use this in any fashion they like as
> long as they give someone a big smile before/during/after implementing SIX
> in a system.
> 
> DISCLAIMER: The Author (Peter P. Jones) of this specification accepts no
> liability whatsoever for anything bad resulting from the use of SIX.
> 
> 
> cheers,
> Peter
> 
> Peter Jones
> mailto:peterj@w...
> 
> 
> 
> 
> 

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.