Of possible interest to someone looking to help out with some opensource hacking on a high profile project... //Ed ---------- Forwarded message ---------- From: Thomas Baker <[log in to unmask]> Date: Thu, May 20, 2010 at 2:03 PM Subject: DCMI's Vocabulary Management Tool published as an Open Source project To: [log in to unmask] Documentation for DCMI Metadata Terms is currently published as a Web document [1] and as an RDF schema [2] to which term URIs, such as http://purl.org/dc/terms/title, are redirected. The Vocabulary Management Tool which is used to generate these documents has now been published as an open source project on the Web-based hosting service Github [3]. DCMI would like to modify the system to generate the user-oriented Web document [1] with an embedded RDF representation using a W3C standard, RDFa [4]. Interested members of the open-source community are invited to adapt the tool for their vocabularies, help improve the code on Github, or discuss related issues on the mailing list of the DCMI Architecture Forum [5]. [1] http://dublincore.org/documents/dcmi-terms/ [2] http://dublincore.org/2008/01/14/dcterms.rdf [3] http://github.com/dublincore/website [4] http://rdfa.info/ [5] http://www.jiscmail.ac.uk/lists/dc-architecture.html ---------------------------------------------------------------------- Contents of "README" text on Github: Vocabulary Management Tool 2010-05-05 This tool was developed in circa 2002 by Mitsuharu Nagamori and Harry Wagner. It is used to generate RDF schemas and Web pages for DCMI Metadata Terms from source files in unvalidated XML, hand-edited using vi. We have long recognized that this method could be improved but, while somewhat cumbersome, it has served us well for eight years given the frequency with which we need to make changes. We are making it available in an open source repository and welcome improvements to the code. Specifically, we are interested in modifying the XSL transforms to generate Web pages for DCMI metadata terms that contain its formal RDF specification embedded in the attributes using RDFa. To use the tool, the vocabulary maintainer edits the following files, adding terms that have been approved or making changes to existing terms: http://dublincore.org/usage/xml/dcam.xml http://dublincore.org/usage/xml/dcelements.xml http://dublincore.org/usage/xml/dcterms-classes.xml http://dublincore.org/usage/xml/dcterms-properties.xml http://dublincore.org/usage/xml/dcterms-ses.xml http://dublincore.org/usage/xml/dcterms-ves.xml http://dublincore.org/usage/xml/dctype.xml http://dublincore.org/usage/xml/header-doc-dcterms.xml http://dublincore.org/usage/xml/header-doc-dctype.xml http://dublincore.org/usage/xml/header-doc-history.xml http://dublincore.org/usage/xml/header-rdf-dcam.xml http://dublincore.org/usage/xml/header-rdf-dcelements.xml http://dublincore.org/usage/xml/header-rdf-dcterms.xml http://dublincore.org/usage/xml/header-rdf-dctype.xml http://dublincore.org/usage/xml/intro.dcmi-terms.xsl http://dublincore.org/usage/xml/intro.history.xsl Note that to change an existing term, a new snapshot is created, then edited, so that each historical "description" of the term is preserved. This is analogous to the way DCMI and W3C version Web documents -- i.e., snapshots supersede each other and accumulate to form the historical record. DCMI would also welcome feedback or suggestions on this versioning model. To prepare a new release of documentation, the editor copies the files listed above to a time-stamped directory under the VMT project (here, vmt:), e.g. as follows: vmt:2008-01-14/headers/header-doc-dcterms.xml vmt:2008-01-14/headers/header-doc-dctype.xml vmt:2008-01-14/headers/header-doc-history.xml vmt:2008-01-14/headers/header-rdf-dcam.xml vmt:2008-01-14/headers/header-rdf-dcelements.xml vmt:2008-01-14/headers/header-rdf-dcterms.xml vmt:2008-01-14/headers/header-rdf-dctype.xml vmt:2008-01-14/headers/intro.dcmi-terms.xsl vmt:2008-01-14/headers/intro.history.xsl vmt:2008-01-14/xmldata/dcam.xml vmt:2008-01-14/xmldata/dcelements.xml vmt:2008-01-14/xmldata/dcterms-classes.xml vmt:2008-01-14/xmldata/dcterms-properties.xml vmt:2008-01-14/xmldata/dcterms-ses.xml vmt:2008-01-14/xmldata/dcterms-ves.xml vmt:2008-01-14/xmldata/dctype.xml Then the following file is edited: vmt:build.xml for example, thus: :%s/2008-01-14/2010-04-30/ The build file uses the following XSL files: vmt:web/xsl/common-templates.xsl vmt:web/xsl/dcam.xsl vmt:web/xsl/dcelements.xsl vmt:web/xsl/dcterms.xsl vmt:web/xsl/dctype.xsl vmt:web/xsl/html-dcmiterms.xsl vmt:web/xsl/html-dctype.xsl vmt:web/xsl/html-history.xsl Apache Ant (version 1.7 or higher)[1] is required to run the program. After installation of Apache Ant, execute the command: $ ant The output is written to a new directory: vmt:build The output is then installed on the DCMI stage server for publication on the production Website. As a final step, the PURLs for DCMI metadata terms are edited to point to the schemas. See, for example: http://dublincore.org/documents/dcmi-terms/ -> http://dublincore.org/documents/2008/01/14/dcmi-terms/ http://dublincore.org/documents/dcmi-type-vocabulary/ -> http://dublincore.org/documents/2008/01/14/dcmi-type-vocabulary/ http://dublincore.org/usage/terms/history/ -> http://dublincore.org/usage/terms/history/2008/01/14/ http://dublincore.org/documents/dces/ -> http://dublincore.org/documents/2008/01/14/dces/ http://purl.org/dc/elements/1.1/ -> http://dublincore.org/2008/01/14/dcelements.rdf# http://purl.org/dc/terms/ -> http://dublincore.org/2008/01/14/dcterms.rdf# http://purl.org/dc/dcmitype/ -> http://dublincore.org/2008/01/14/dctype.rdf# http://purl.org/dc/dcam/ -> http://dublincore.org/2008/01/14/dcam.rdf# Any comments or feedback on this tool or the general approach to publishing DCMI Metadata Terms (such as versioning) are most welcome. To submit a comment, please either subscribe to the dc-architecture mailing list [2] and post there or send comments to [log in to unmask] indicating whether or not they are intended also for posting to the list. Tom Baker <[log in to unmask]> CIO, Dublin Core Metadata Initiative Ltd. http://dublincore.org [1] http://ant.apache.org/ [2] http://www.jiscmail.ac.uk/lists/dc-architecture.html -- Thomas Baker <[log in to unmask]>