- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Thu, 20 Aug 2009 13:16:04 +0100
- To: rick <rick@rickmurphy.org>
- Cc: public-lod@w3.org
Rick, Toby already pointed out the issue with the dc: namespace. There's also this section: <div class="hometext" about="data.gov program" property="dc:description"> The purpose of Data.gov is to increase public access ... </div> The value of the @about attribute has to be a URI, and "data.gov program" is not a URI. Fixing it is easy, but depends on what exactly you want the data to say. 1. Maybe you want the text to be a description of the web page http://www.data.gov/ . Similar to the dc:title, dc:creator and dc:publisher triples that are already present. In that case, you would want to use about="", which is a shortcut for about="http://www.data.gov/" because an empty URI will be treated as a relative URI, and therefore expands to the URI of the current document. But since about="" is the default anyway, you could just drop the attribute completely and still get the same triple. 2. Maybe you want to text to be a description of the "data.gov program", the government activity/entity, and not just a description of the particular web page. In that case, you would need to decide on a URI that you want to use for this entity. One easy option would be about="#program", which again is a relative URI and would expand to http://www.data.gov/#program . In that case, it would be nice to add some more triples about the program. The first option might be a bit more straightforward. Best, Richard On 19 Aug 2009, at 11:50, rick wrote: > 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 rick@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 > > >
Received on Thursday, 20 August 2009 12:16:48 UTC