RE: VRA, RDF, MyLibrary, and uPortal

Hi Eric

I've taken a look at some of your resources on RDF, I'd like to provide you
with some feedback, hope this is helpful to you.

In your introduction to XML
http://infomotions.com/musings/getting-started/getting-started.pdf
on page 69 you mean triples not triplets. 

then on your page
http://dewey.library.nd.edu/mylibrary/rdf/

1) in librarians.rdf, most of the objects have the same URI so these objects
will be merged when you de-serialize the model i.e. you will have an object
like this

<rdf:Description rdf:about="http://www.lib.ncsu.edu/staff/morgan/">
  <mylibrary:librarian>Alcuin</mylibrary:librarian> 
  <mylibrary:librarian>Melvil Dewey</mylibrary:librarian> 
  <mylibrary:librarian>Mr. Serials</mylibrary:librarian> 
  <mylibrary:librarian>S.R. Ranganathan</mylibrary:librarian> 
  <dc:subject>Mathematics</dc:subject> 
  <dc:subject>Literature</dc:subject> 
  <dc:subject>Philosophy</dc:subject> 
  <mylibrary:email>eric_morgan@ncsu.edu</mylibrary:email> 
  <mylibrary:telephone>(919) 515-4221</mylibrary:telephone> 
  <dc:subject>Music</dc:subject> 

etc ...

I don't think this is your intention, so you need to assign different URIs
to each librarian or omit the about statement.

2) You need to prefix about with the rdf namespace e.g. rdf:about

3) You are using mylibrary:librarian to indicate the librarians name. This
isn't a particularly good data model. A Librarian is an object, not a
property, so a better way to do this would be to replace rdf:Description
with a typedNode construct. 

4) A lot of the information you are modelling can be represented using the
VCard schema - see
http://www.w3.org/TR/2001/NOTE-vcard-rdf-20010222/
so it would be better using that schema where possible. 

Here is a revised version of the librarians file. Note I haven't included
all the data, this is just to illustrate the changes described above. 

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	
xmlns:lib="http://dewey.library.nd.edu/mylibrary/rdf/mylibrary-01-rdf-ns#"
	xmlns:vc="http://www.w3.org/2001/vcard-rdf/3.0#">

	<lib:Librarian rdf:about="http://www.nd.edu/~aayer">
		<vc:FN>A.J. Ayer</vc:FN>
      	<vCard:EMAIL rdf:parseType="Resource">
        		<rdf:value>ayer.1@nd.edu</rdf:value>
        		<rdf:type
rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#internet"/>
		</vc:EMAIL>
		<vc:TEL rdf:parseType="Resource">
        		<rdf:value>(219) 631-0666</rdf:value>
        		<rdf:type
rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#work"/>
      	</vCard:TEL>
		<dc:subject>Theology</dc:subject>
	</rdf:Description>

	<lib:Librarian>
		<vc:FN>Alcuin</vc:FN>
		<dc:subject>Mathematics</dc:subject>
	</lib:Librarian>

	<lib:Librarian>
		<vc:FN>Melvil Dewey</vc:FN>
		<dc:subject>Literature</dc:subject>
	</lib:Librarian>

	<rdf:Description rdf:about="mailto:eric_morgan@ncsu.edu">
		<vc:FN>Eric Morgan</vc:FN>
      	<vCard:EMAIL rdf:parseType="Resource">
        		<rdf:value>eric_morgan@ncsu.edu</rdf:value>
        		<rdf:type
rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#internet"/>
		</vc:EMAIL>
		<vc:TEL rdf:parseType="Resource">
        		<rdf:value>(919) 515-4221</rdf:value>
        		<rdf:type
rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#work"/>
      	</vCard:TEL>
	</rdf:Description>

</rdf:RDF>

There may be further possible improvements to this file. For example, I
don't think its really correct to apply dc:subject to the librarian, because
saying a book has a subject and a person has a subject has a different
meaning, you use them in different ways, although I am not an expert on
Dublin Core. I suspect a better way to do it would be to refine dc:subject
to create a property called lib:subject indicating the specialist subject of
the librarian. 

(Incidentally, in your schema you use rdfs:Property - this is incorrect,
it's rdf:Property - see 
http://www.w3.org/TR/rdf-schema/)

<rdf:Property
rdf:about="http://dewey.library.nd.edu/mylibrary/mylibrary-01-rdf-ns#subject
">
  <rdfs:subPropertyOf
rdf:resource="http://purl.org/dc/elements/1.1/subject">
  <rdfs:label>Subject</rdfs:label> 
  <rdfs:comment>This property indicates the specialist subject of a
librarian rather than of a work</rdfs:comment> 
</rdf:Property>

then do this in the metadata

<lib:Librarian>
	<vc:FN>Melvil Dewey</vc:FN>
	<lib:subject>Literature</lib:subject>
</lib:Librarian>

However this is a suggestion, perhaps people here or on RDF-interest can
make better ones. 

I'm afraid I don't have time to work through all your data now, but I think
it would be reviewing your data models. 

> The Hoover Dam was impressive, and I wonder 
> why our government can not build things on 
> such a scale now-a-days

See this learning object, paid for by my government :-)
http://www.bbc.co.uk/history/society_culture/industrialisation/hoover_dam_01
.shtml

Dr Mark H. Butler
Research Scientist                HP Labs Bristol
mark-h_butler@hp.com
Internet: http://www-uk.hpl.hp.com/people/marbut/

Received on Tuesday, 25 November 2003 06:29:53 UTC