Re: a simpler form of rdf xml

On Thu, 2005-01-13 at 03:52, Phil Dawes wrote:

> I've written a script (to test the idea) that does pretty-much the
> same translation - if you're interested I'll stick it on the web
> somewhere when I get to work.

Nice.  It looks like you go strictly to blank nodes, and have the
"element = property" and "non-leaf-elements are blank-nodes" heuristic.


> N.B. I think it'd also need to handle ordered collections to be
> generically useful (since xml is implicitly ordered).

Yeah, it seems like the pain is to deal with:

<foo>
  <barProp>bar</>
  <bazProp>baz</>
  <items>item1</>
  <items>item2</>
</foo>

Since you don't want to have to tell people they need to insert another
level...

What about...

  <foo is:aListOf="items">
   <!-- ... -->
  </>
?

Which, given the content above, becomes:

  [ :foo [ :barProp "bar"; :bazProp "baz"
         ; :items ( "item1" "item2" ) ] ].

With namespace/qname handling as per:

  <eg:foo is:aListOf="&eg;items">
    <!-- ... -->
  </>


While I'm writing this out... another pain is striping and typing.  I've
been thinking about something like...

  <eg:foo is:a="&eg;Foo" />

...with an alternative being...

  <eg:foo is:a="&eg;Foo">
    <is:a>&eg2;Bar</is:a>
  </>

... with the motivation that anything needing to represent _two_
rdf:types can deal with the weirdness the above presents.

Also, I guess you adopt `is:about="..."` for subjects, and `is:at` for
resource-objects.

Oh yeah, and there's no option to put anything in attributes.  It's all
in elements, except as per above.

Thoughts?

...jsled

-- 
http://asynchronous.org/ - `a=jsled; b=asynchronous.org; echo ${a}@${b}`

Received on Thursday, 13 January 2005 15:23:50 UTC