Re: Peering over the edge of the RDF cliff

Well, gee, if you're willing to abandon the syntax altogether, you won't
mind some hacks that are at least compatible with the RDF syntax, if not the
model.

One option I've considered for this problem is to make the resource URL be a
literal, and then qualify the value to let people know that I really meant
it to be a resource:

<rdf:Description ...>
	<Property rdf:ID="author" rdf:parseType='Resource'>
		<rdf:value>foo.html</rdf:value>
		<valueType>resource</valueType>
	</Property>
</rdf:Description>

Acutally, if you mean for Property to be a type, a typedNode might be
better:

<Property rdf:ID="author" rdf:value="foo.html" valueType="resource"/>

This really makes your Property first class, and only creates one "object".

Another option is to use the parseType='Literal' escape-hatch and encode
whatever you want in the value:

<rdf:Description ...>
	<Property rdf:ID="author" rdf:parseType='Literal'>
		<subject resource='foo.html'/>
		<object resource='Fred'/>
	</Property>
</rdf:Description>

This means that inferencing based on the pure unextended RDF model won't
work, but heck, it wouldn't work on your custom syntax anyway.  By hacking
the model but sticking with the RDF syntax, you at least maintain some
amount of interoperability.

Perry

Received on Wednesday, 5 January 2000 15:58:46 UTC