data.gov now live with RDFa
Hello All: Just to give you a heads up the data.gov home page is now live with RDFa tags. http://www.data.gov/ The page has two triples. One about the page, one about the program. We used this very simplistic approach to overcome any operational barriers and develop experience in publishing RDFa tags. See below for source code that parses the triples. I used the INRIA GRDDL transform. Have fun and I'll watch this list for feedback and such. -- Rick cell: 703-201-9129 web: http://www.rickmurphy.org blog: http://phaneron.rickmurphy.org more RDFaConsumer.java /** * @(#)RDFaConsumer.java * @author r...@rickmurphy.org */ package gov.data; /** */ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.FactoryConfigurationError; import javax.xml.parsers.ParserConfigurationException; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import java.text.ParseException; import java.io.UnsupportedEncodingException; import java.io.IOException; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Element; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import java.net.URL; public class RDFaConsumer{ private static String namespace; /** */ public RDFaConsumer(String uri){ try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document input = builder.parse(new URL(uri).toString()); input.normalize(); DOMSource source = new DOMSource(input); StreamResult result = new StreamResult(System.out); StreamSource stylesheet = new StreamSource(new URL(http://ns.inria.fr/grddl/ rdfa/2008/09/03/RDFa2RDFXML.xsl).toString()); // Use a Transformer for output TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(stylesheet); transformer.transform(source, result); // transform the dom into RDF/XML traverse(input); } catch (SAXParseException spe) { System.out.println(sax parse ex: + spe); } catch (SAXException sxe) { System.out.println(sax ex: + sxe); } catch (ParserConfigurationException pce) { System.out.println(parser config ex: + pce); }catch (UnsupportedEncodingException ude) { System.out.println(unsupported encoding ex: + ude); } catch (IOException ioe) { System.out.println(io ex: + ioe); } catch (TransformerConfigurationException tc) { System.out.println(transformer config ex: + tc); } catch (TransformerException te) { System.out.println(trasnformer ex: + te); } }//RDFaConsumer /** */ public static void main(String[] args){ new RDFaConsumer(args[0]); }//main /** */ public void traverse(Node node){ // is there anything to do? if (node == null) { return; } int type = node.getNodeType(); switch (type) { case Node.DOCUMENT_NODE: {; Document document = (Document)node; traverse(document.getDocumentElement()); break; } case Node.ELEMENT_NODE: { if(node.getNodeName().equals()){ NodeList childNodes = node.getChildNodes(); break; } } case Node.ENTITY_REFERENCE_NODE: { Node child = node.getFirstChild(); while (child != null) { traverse(child); child = child.getNextSibling(); } break; } case Node.CDATA_SECTION_NODE: { // no work here break; } } }//traverse /** */ public void getRDFaHTML(){}//getRDFaHTML }//RDFaConsumer
Re: data.gov now live with RDFa
On Wed, 2009-08-19 at 06:50 -0400, rick wrote: http://www.data.gov/ The page has two triples. Ten by my count. The namespace for Dublin Core is wrong though. It's currently pointed at http://dublincore.org/documents/2008/01/14/dcmi-terms/ which is a documentation file. The namespace should be one of: http://purl.org/dc/terms/ http://purl.org/dc/elements/1.1/ http://purl.org/dc/elements/1.0/ Looking at how Dublin Core is being used on the page -- in particular, literals for dc:creator and dc:publisher -- I'd suggest using the older http://purl.org/dc/elements/1.1/ namespace URI. -- Toby A Inkster mailto:m...@tobyinkster.co.uk http://tobyinkster.co.uk
2nd CfP: Workshop on User-generated Services (UGS2009)
(apologies for multiple postings) -- CALL FOR PAPERS -- 1st International Workshop on User-generated Services (UGS 2009) co-located with the 7th International Conference on Service Oriented Computing (ICSOC2009) and ServiceWave2009 Stockholm, Sweden, November 23rd or 24th, 2009 (to be decided) Papers due: 6th September 2009 -- Workshop Goal: Service-oriented architectures (SOA) have transformed the way software systems are being developed. However, the development of services is still service-centric rather than user-centric. The reuse and combination of such services requires the assistance of a skilled developer. The workshop aims to explore research and development which will empower end-users to participate in the generation, combination and adaption of services to create functionality and solve problems in their work - what we user-generated services. Background: User-generated content (UGC) has become a major source of information on the World-Wide Web. Wikis, blogs, web-based user forums and social networks have empowered end-users to collaboratively create content and share it. UGC is not only a phenomenon in the private domain but has become a major source for technical solutions as exemplified by search results of technical problems in Google: solutions are increasingly found in sites providing UGC. Thus end-users have become a major source of knowledge, similarly leveraging the “resources at the edge of the network” as P2P systems have done on a technical level. The next logical step is that after supporting the creation and management of data, the same should be done at the level of services created and provided by end-users, i.e., “User-generated Services” (UGS). UGS can be cover a range of services, from ad-hoc, situational applications for personal use to more advanced enterprise mash-ups supporting a community of users. In order to facilitate UGS, tools and infrastructures to create, combine, reuse and execute possibly complex services in an easy manner are needed. There is a range of issues that have to be addressed in order to realise the vision of user-generated services: service front-ends that support new ways of visualising and interacting with services have to be explored; questions of modelling end-users, who can range from naive users to power users, come into play, as well as modelling user behaviour and user context; automatic and semi-automatic methods for service composition are relevant, in order to lower the learning curve and technological threshold that users need to overcome for the creation of services. The aim of the workshop is to bring together researchers and developers from both academia and industry, covering the different fields that are relevant for user-generated services, such as service oriented computing, semantics, human computer interaction and software design. The workshop will foster an exchange of ideas to further the state of the art in the field, share and define new ideas and practical experiences in designing, creating, deploying and using user- centric services, establishing new methodologies, techniques and graphical interfaces. The findings aim to facilitate and attract non- technical users to create and use electronic services, which architectural models would be the most adequate, and how for example semantics can play a role in designing and creating them. -- Topics of Interest (not limited to) -- - Methodology and Conceptualisation - Techniques to facilitate the creation of services by end-users - User-centric software development methodologies - Methodologies to accommodate different kinds of end-users (naive, power user, ...) - Architectures and Platforms - Platforms and middleware to facilitate the connection of back-end services and service front-ends - Architectures for service front-ends - Indexing and cataloguing of services - Deployment of services - Easy service composition - End-user Interfaces and Service Front-ends - Intuitive visual tools to manipulate and combine service components - Interface metaphors to hide and abstract service complexity from non-technical users - Different patterns for user-service interaction - Interfaces to enable service and resource mashups - Exposing existing back-end services to end-users - Studies dealing with usability of Service Front-ends - Context and Behaviour - Taxonomies and Ontologies describing user context - Context-based personalisation of services and tools - Context-based service search - Behaviour-aware service recommendation -
Top three levels of Dewey Decimal Classification published as linked data
Hi all, I would like to announce the availability of the DDC Summaries as a linked data service that uses SKOS and other vocabularies for representation [1]. Please take a look if you like. Comments, suggestions, and advice are really appreciated! Dewey.info makes the top 1000 classes of the Dewey Decimal Classification available in nine languages. The service does some content negotiation to determine whether to serve XHTML+RDFa or RDF/XML. Other serializations (Turtle, JSON) are available also. The content is licensed under Creative Commons BY-NC-ND, expressed in RDFa and RDF using the ccREL properties. An overview of the service can be found in the OCLC Developers Network wiki [2]. Some URLs to try: http://dewey.info/class/641/ http://dewey.info/class/641/about.rdf http://dewey.info/class/641/2009/about.fr http://dewey.info/class/64/2003/ http://dewey.info/class/6/2003/08/about.de.rdf http://dewey.info/class/6/2003/08/about.de.html http://dewey.info/class/6/e22/about The DDC Summaries, while being a relatively small part of the DDC, are hopefully a good first step to get a feel for a couple of things: developing a SKOS model for a large universal classification; structuring access to multilingual and time-variant KOS data; testing URI patterns; etc. More will be added after the initial approach has been weighed on the scales. At the moment, (most of) the data is only linked to itself, but since the DDC is actively used worldwide and has been widely applied and mapped to other vocabularies, other links (and some more languages) should be added soon. Cheers Michael [1] http://dewey.info [2] http://worldcat.org/devnet/wiki/DeweyInfoTechOverview
Re: Top three levels of Dewey Decimal Classification published as linked data
Hi Michael, This is really exciting news, especially for those of us Linked Data enthusiasts in the world of libraries and archives. Congratulations! I haven't fully read the wiki page yet, so I apologize if this question is already answered there. I was wondering why you chose to mint multiple URIs for the same concept in different languages. For example: uqbar:~ ed$ rapper -o turtle http://dewey.info/class/641/ @prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# . @prefix xhtml: http://www.w3.org/1999/xhtml/vocab# . @prefix cc: http://creativecommons.org/ns# . @prefix dct: http://purl.org/dc/terms/ . @prefix skos: http://www.w3.org/2004/02/skos/core# . http://dewey.info/class/641/2009/08/about.en cc:attributionName OCLC Online Computer Library Center, Inc. ; cc:attributionURL http://www.oclc.org/dewey/ ; cc:morePermissions http://www.oclc.org/dewey/about/licensing/ ; dct:isVersionOf http://dewey.info/class/641/ ; dct:language en^^dct:RFC4646 ; a skos:Concept ; xhtml:license http://creativecommons.org/licenses/by-nc-nd/3.0/ ; skos:broader http://dewey.info/class/64/2009/08/about.en ; skos:inScheme http://dewey.info/scheme/2009/08/about.en ; skos:notation 641^^http://dewey.info/schema-terms/Notation ; http://dewey.info/class/641/2003/08/about.de cc:attributionName OCLC Online Computer Library Center, Inc. ; cc:attributionURL http://www.oclc.org/dewey/ ; cc:morePermissions http://www.oclc.org/dewey/about/licensing/ ; dct:isVersionOf http://dewey.info/class/641/ ; dct:language de^^dct:RFC4646 ; a skos:Concept ; xhtml:license http://creativecommons.org/licenses/by-nc-nd/3.0/ ; skos:broader http://dewey.info/class/64/2003/08/about.de ; skos:inScheme http://dewey.info/scheme/2003/08/about.de ; skos:notation 641^^http://dewey.info/schema-terms/Notation ; skos:prefLabel Essen und Trinken@de . ... I kind of expected the assertions to hang off of a language and version agnostic URI, with perhaps dct:hasVersion links to previous versions. http://dewey.info/class/641/ cc:attributionName OCLC Online Computer Library Center, Inc. ; cc:attributionURL http://www.oclc.org/dewey/ ; cc:morePermissions http://www.oclc.org/dewey/about/licensing/ ; dct:hasVersion http://dewey.info/class/641/2009/08/ ; dct:language de^^dct:RFC4646 ; a skos:Concept ; xhtml:license http://creativecommons.org/licenses/by-nc-nd/3.0/ ; skos:broader http://dewey.info/class/64/2003/08/about.de ; skos:inScheme http://dewey.info/scheme/2003/08/about.de ; skos:notation 641^^http://dewey.info/schema-terms/Notation ; skos:prefLabel Food drink@en, Essen und Trinken@de . See how multiple skos:prefLabel assertions can be made using the same subject? To illustrate why I think this is important consider how someone may use the resources at dewey.info: http://openlibrary.org/b/OL11604988M dct:subject http://dewey.info/class/641/ . If we follow our nose to http://dewey.info/class/641 we will get back some RDF, but the description we get isn't about the subject http://dewey.info/class/641/ so what are we to make of the above assertion? Another unrelated thing I noticed is that the RDFa doesn't seem to be usable by the RDFa Distiller: http://tinyurl.com/nm8lfa Sorry if this was too long. Let me just say again how exciting it is to see this work coming out of OCLC. //Ed
Re: data.gov now live with RDFa
Toby All: Thanks for your suggestions. Tonight I tested the live site for the first time. Seems it does not validate properly against the W3C validator, or parse using the original test harness. The DTD is not xhtml+rdfa as in the sample. Feel free to keep the suggestions coming over the next day or so while I get back to the ops folks. -- Rick cell: 703-201-9129 web: http://www.rickmurphy.org blog: http://phaneron.rickmurphy.org Toby Inkster wrote: On Wed, 2009-08-19 at 06:50 -0400, rick wrote: http://www.data.gov/ The page has two triples. Ten by my count. The namespace for Dublin Core is wrong though. It's currently pointed at http://dublincore.org/documents/2008/01/14/dcmi-terms/ which is a documentation file. The namespace should be one of: http://purl.org/dc/terms/ http://purl.org/dc/elements/1.1/ http://purl.org/dc/elements/1.0/ Looking at how Dublin Core is being used on the page -- in particular, literals for dc:creator and dc:publisher -- I'd suggest using the older http://purl.org/dc/elements/1.1/ namespace URI.