Re: notes on SLinkS RDF schema [was: Legal citations...]

Thank you, Dan, for some very helpful and timely comments.

At 4:10 PM -0600 11/9/99, Dan Connolly wrote:
>Eric Hellman wrote:
>pointer to http://www.w3.org/TR/REC-rdf-syntax-19990222 is faulty; the
>address of the RDF REC is
>	http://www.w3.org/TR/1999/REC-rdf-syntax-19990222

you mean to say that the resource which was named
http://www.w3.org/TR/REC-rdf-syntax-19990222 has been abandoned and no
alias was left.

but yes, it's certainly something to fix

>
>
>=========
><rdf:Property ID="template">
>[...]
>        <rdfs:range
>rdf:resource="http://www.openly.com/slinks/slinks.dtd"/>
>=========
>
>hmm... odd; http://www.openly.com/slinks/slinks.dtd is an RDF class?
>I guess you can use it that way; is that what you meant?
>
>Interesting idiom: using foo.dtd to denote the RDF class consisting
>documents that validate per foo.dtd.
>

This is a story which might be useful to some readers of the list. I
developed the schema with a prior-prior version of RDF schema (in one
without the "literal" property.) The seeAlso and isDefinedBy properties,
while confusing, were sorely needed, and the final version will be using
one of these for this property.

I had hoped that I could leave the template property as XML with the
literal property, but it has turned out not to be practical. Since the
template DTD has a fair number of entities in it, I would have to add the
DTD to the RDF in order to use an XML parser, which is a real pain.
Instead, the shipping version uses URL encoding to convert the XML template
into a string which becomes the value of the template property.

Anyway, encoding the template XML as a property value has worked quite well.


>========
><rdf:Property ID="restriction">
>        <rdfs:comment>restrictions are indications by a Linkee that the
>modified Link Method may only be used under specific conditions
>specified here.
>The specifications have legal definitions available at
>http://www.openly.com/SLinkS/legal.html </rdfs:comment>
>========
>
>Er.. I don't like to see URIs lost (to the RDF parser) in plain text.
>I wonder if you can use the RDF(s?) seeAlso property?

Sure can!

>
>========
><rdfs:Class ID="MIME-Type">
>        <rdfs:comment>These are the allowed MIME-types.</rdfs:comment>
>[...]
>        <MIME-Type ID="text-html">
>========
>
>I recommend, in stead, that you allow any resource as a MIME type,
>and note that those those that start with:
>
>	http://www.isi.edu/in-notes/iana/assignments/media-types/
>
>have been registered with IANA; for example:
>
>	http://www.isi.edu/in-notes/iana/assignments/media-types/text/html
>
>I guess you could spell this in RDF as:
>
>	<rdf:Description
>
>aboutEachPrefix="http://www.isi.edu/in-notes/iana/assignments/media-types/"
>	rdf:type="#MIME-Type" />
>
>or, equivalently (I think):
>
>	<MIME-Type
>
>aboutEachPrefix="http://www.isi.edu/in-notes/iana/assignments/media-types/"
>/>

Leaving aside the question of whether aboutEachPrefix is an abomination or not,
I note that these are not RDF resources, they're just names of resources
containing user-friendly text like "See RFC 9104".

In an earlier version of the schema, we allowed MIME-type to be anything.
Then, we started using the schema itself to generate our editor
application. The way it works now, our editor application reads the schema
when it starts up. It extracts the comments for its help box and uses the
enumerated values of MIME-Type to build a choice object. So you see why
it's the way it is.

What, exactly, is the point of replacing the string text/html with the
resource http://www.isi.edu/in-notes/iana/assignments/media-types/text/html
, anyway?

I also note that while it is easy to add a MIME-Type to my schema, it is
impossible to subtract a MIME-Type. There is no mechanism to restrict the
scope of MIME-Type's. Thus it is better to enumerate a minumum set than it
is to denote the set of all possible values.

>========
><rdfs:Class ID="WebServiceType">
>        <rdfs:comment>The allowed web service type. Only one type should
>be
>specified. Default is OnLineAccess.</rdfs:comment>
>        <rdfs:label>WEB SERVICE TYPE</rdfs:label>
>
>        <WebServiceType ID="OnLineAccess">
>                <rdfs:comment>This Web Service provides "on-line" access
>to a
>citeable resource, or aggregates online access.</rdfs:comment>
>                <rdfs:label>On-Line Access</rdfs:label>
>        </WebServiceType>
>========
>
>I thin you meant to enumerate some instances of the class
>WebServiceType,
>but what you've done is to give some (odd looking) properties of
>WebServiceType.
>
>i.e. it says:
>
>	#WebServiceType --- #WebServiceType --> #OnLineAccess
>
>but I think what you meant was:
>
>	#OnLineAccess --- rdfs:type ---> #WebServiceType
>
>To say what you mean, close the <rdfs:Class ID="WebServiceType">...
>element before you start the enumeration.
>similarly for your enumeration of subjects.

Yikes, you're right! IOU at least a beer.

>
>
>regarding <rdf:Property ID="title">; you should probably note that
>it's a subPropertyType of the dublin core title.
>

I seem to remember deciding that the dublin core title meant something
different, but I can't remember why now.
Eric Hellman
Openly Informatics, Inc.
http://www.openly.com/           21st Century Information Infrastructure

Received on Wednesday, 10 November 1999 02:33:13 UTC