Bob DuCharme is taking a course and is pleased to find a standard that defines taxonomy, quoting from the ANSI/NISO Z39.19 standard, Guidelines for the Construction, Format, and Management of Monolingual Controlled Vocabularies, and discussing the various classes of controlled vocabulary.

Well worth reading…

What is a taxonomy? - bobdc.blog

I’ve described ontologies to people as being like taxonomies, except that you (or more likely, people in your field) get to make up new, specialized relationships beyond those standardized for thesauri. For example, in legal publishing, a higher court ruling could have the relationship property “cite” to a lower court ruling, with potential values such as “overturns” or “affirms”.

By Jon, July 12, 2008, 6:47 am o'clock

Jeepers, no posts for 3+ months and then two in one day! The truth is that I hadn’t realized the last post was still sitting in my drafts folder more than a month after I wrote it.

Moving on…

A number of folks have been interested in installing the Registry, especially since we’ve talked before about ‘easy installation’ being one of our design goals.

We’re pleased to announce that we have finally tweaked things to make a reasonably simple install from our subversion repository possible and provided some hopefully simple instructions detailing how to get the Registry up and running. We don’t provide enough tweaking or instructions (yet) to fully customize the interface, so once it’s installed it’ll still look exactly like the Registry, just running on your server instead of ours.

Whenever we update the production server, we’ll tag that code in subversion and update the link in the instructions (tying a string around my finger to help me remember as we speak), but there won’t be any other ‘release’ announcement unless we do something major.

Whenever we modify the database structure, we’ll provide a sql script to alter the database with each release. These scripts will always modify the database as it was after the previous release, so if you skip releases you’ll need to run the scripts sequentially. But this will all be on the instructions page.

We expect to update the production code quite often over the next few months.

By Jon, July 11, 2008, 4:34 pm o'clock

If you’ve been watching the Registry closely (and we know you have), you’ll have noticed that a few weeks ago we started supporting the registration of metadata schemas. It’s not finished and far from perfect, but the perfect can often be the enemy of the good and at the moment it’s, well, good enough for now.

What makes it tough to get schema registration right is that our approach to what we’re calling registration attempts to be cross-cultural — trying to create a bridge from the technologies supporting the Semantic Web to the somewhat more ‘traditional’ data transfer technologies like XML.

We’re also trying to ‘eat our own dog food’ and are using an internally registered Application Profile to define the properties we’re using to describe metadata schemas and ultimately Application Profiles. This AP helps drive the schema registration user interface and we hope at some point we’ll be able to use a registered AP to generate many different interfaces, both human and application. It’s arguably too ambitious, but baby steps…

Vocabulary Management
The Registry is really more Vocabulary Management Application than Registry at this point, since we’ve layered so many management services on top of the basic registry functions. It manages two types of vocabularies:

  • Value vocabularies — unordered lists of values (terms) that we express as skos concept schemes in RDF and a simple enumeration in XML Schema
  • Class/Property vocabularies — lists of classes, properties (or attributes depending on your mental model) that we currently express as rdf:properties and rdfs:classes

Much of our terminology (value vocabularies, metadata schema, application profile) stems from our work with the Dublin Core Community more than the Semantic Web Community and maybe we’ll refactor some of those names as we move forward. But we hope the semweb folks can translate and we hope that the DC folks won’t hold our ultimate departure from some of their terms against us.

In the meantime, feel free to play in the sandbox.

By Jon, July 11, 2008, 4:12 pm o'clock

I was talking with Diane this morning about building the schema portion of the Registry and I feel the need to write down some of what we discussed.

For purposes of discussion, we have a draft schema property interface that defines some basic metadata schema property properties. We started the conversation because I was trying to get away from the “property property” nomenclature and because I couldn’t quite figure out the best way to extend the too-simple model to incorporate repeatable, typed notes/annotations.

Over the course of the discussion we came to a few conclusions:

  • What we’re really discussing is an Application Profile in the old DC sense of that term (it has since been changed to “Description Set Profile” to reflect the more DCAM-centric viewpoint of the current DC Community) in which we’re defining schema property restrictions, namespaces, and usage requirements: There can be only one token, definition, label, type and they’re required; ‘Type’ utilizes a controlled vocabulary containing the concepts ‘property’ and ’subproperty’; etc.
  • We have a Schema Properties Vocabulary registered that identifies these schema property description ‘terms’ as ‘concepts’, but this isn’t really correct because they’re actually properties of a metadata schema ‘property’ (and so we’re back to property properties <sigh>) and as such they should be registered as an Application Profile rather than a Vocabulary.
  • The properties of each schema we register should be based on its own Application Profile, since there will be many different requirements and we’d like to provide some flexibility. For instance the RDA schema may need to have an additional property property that declares a relationship between the property and a FRBR entity.
  • We can’t register a Metadata Schema Properties Application Profile until we can register a Schema
  • In order to register a metadata schema we need a generic Metadata Schema Properties Application Profile
  • We’re stuck with “property properties”
  • This stuff makes my head hurt

In the interest of moving forward, stopping the spinning, and headache relief we’re going to pretend that a generic Metadata Schema Property Application Profile (MSPAP — pronounced ‘ems-pap’) exists and slap something together and make the interface fairly inflexibly tied to it. At some point in the future we’ll (hopefully) make it flexible enough to be based on any registered MSPAP.

By Jon, March 28, 2008, 10:12 am o'clock

You can now retrieve a snapshot in time of the RDF or XSD serialization of a Concept/Scheme/Vocabulary by appending a ‘TimeSlice’ to the URI. For example:

http://metadataregistry.org/uri/NSDLEdLvl/ts/20060422200002.rdf
or
http://metadataregistry.org/uri/NSDLEdLvl/ts/20060422200002.xsd

will always and forever retrieve the SKOS/RDF or XML Schema representation of the NSDL Ed Level Vocabulary as it appeared at 2 seconds after 8PM on April 22, 2006 (2006-04-22 20:00:02). If you follow the above .rdf link you’ll notice that the concept URIs that the TimeSliced Vocabulary references have also had a TimeSlice appended:

http://metadataregistry.org/uri/NSDLEdLvl/1001/ts/20060422200002.rdf

in order to lock them into that precise point in time on an individual basis as well. We hope the utility of being able to reference a vocabulary at a particular point in time regardless of subsequent changes will be, well, useful.

In order to make retrieving TimeSlices for specific events in the history of a vocabulary a bit handier, we added a TimeSlice link to every history event. You can specify a TimeSlice for any point in time regardless of its relationship to a history event, but the link just makes it simpler (it’s over on the right side of each line):

The Registry! :: NSDL Education Level Vocabulary :: History of Changes
Uploaded with plasq’s Skitch!

Named Versions

You’ll maybe also have noticed that there’s a ‘Name’ link nestled to the right of the RDF and XSD links. If you’re a Vocabulary Administrator, then you now have the ability to label a TimeSlice with a distinct version name. That link again is there to make it easy to reference a point in historical time and clicking on it pre-enters that TimeSlice into the Create new version form:

The Registry! :: Creating new version
Uploaded with plasq’s Skitch!

There’s no limit to the number of versions you can create, and versions (unlike TimeSlices) can be deleted or edited by any Vocabulary Admin:

The Registry! :: NSDL Education Level Vocabulary :: List Versions
Uploaded with plasq’s Skitch!

…although we think that either editing or deleting a version is likely to be a less-than-ideal practice. Still, we allow it — it’s your vocabulary after all.

Once a named version has been associated with a TimeSlice, it will appear in the event history list just above the point in time it references:

The Registry! :: NSDL Education Level Vocabulary :: History of Changes
Uploaded with plasq’s Skitch!

The RDF and XSD links on the right side of the version line now reference the version name:

http://metadataregistry.org/uri/NSDLEdLvl/version/release+1.0.rdf

But this is where it gets a little incorrect… Since the named version URL is just a TimeSlice reference, it does a silent redirect to the referenced TimeSlice. It should probably do a 303 redirect instead. We’ll fix this later, unless it’s a show-stopper for one of our many users.

By Jon, March 26, 2008, 3:13 pm o'clock

We’ve been promising for a while now that we’d make it easier, actually a better word is ‘possible’, for Vocabulary Owners to add ‘Members’ to Owner/Agents and ‘Maintainers’ to Vocabularies. We finally implemented it today! It’s unfortunate that it has taken us so long, since one of the primary goals of the Registry is to support multi-user vocabulary development, but it turned out to require more infrastructure twiddling than we thought it would.

If you’re a vocabulary owner and are logged in, you can add other registered folks as ‘members’ of your Owner/Agent and you can even make them administrators if you want:

The Registry! :: NSDL Registry :: List Members

The Registry! :: Editing NSDL Registry permissions for Diane Hillmann

Uploaded with plasq’s Skitch!

We hope the process is pretty self-explanatory.

Once you’ve added a user as a member of your Owner/Agent group, you can add them to your vocabularies as Vocabulary Maintainers or Administrators.

The Registry! :: NSDL Registry Agents Vocabulary :: List Maintainers

The Registry! :: Adding maintainer to NSDL Registry Agents Vocabulary
Uploaded with plasq’s Skitch!

We realize that this is still somewhat limited and of course the documentation is ummm, poor, but we’ll be doing more with user management shortly.

By Jon, March 25, 2008, 6:13 pm o'clock

This is just a test of “ScribeFire:

“ScribeFire is an extension for the Mozilla Firefox Web browser that integrates with your browser to let you easily post to your blog: you can drag and drop formatted text from pages you are browsing, take notes, and post to your blog.”

By Jon, March 11, 2008, 5:34 pm o'clock

We’ve updated the front page of the Registry to include a Registry-specific news feed from the Registry blog. You can subscribe to it right from (t)here and stay up-to-date with the Registry as we move it forward. Notes like this will be typical and probably pretty frequent over the next few months.

By Jon, March 6, 2008, 5:44 pm o'clock

If you tried to access some of the links on this blog and discovered they were broken, they’re fixed now (dropped a .htaccess file on the floor).

By Jon, February 27, 2008, 11:44 pm o'clock

The registry database was updated last week, in both the sandbox and the registry, to support history tracking. This is in preparation for finally enabling timeslice retrieval and versioning.We also made some significant changes to the site layout and css, so if things still look a little funky, try refreshing your browser — most browsers seem to be caching our css and not detecting the changed files.In the process, we broke search (you may not have even noticed), but it’s fixed now.

By Jon, February 27, 2008, 9:53 pm o'clock