- From: Chimezie Ogbuji <ogbujic@bio.ri.ccf.org>
- Date: Mon, 5 Mar 2007 21:10:40 -0500 (EST)
- To: public-grddl-wg <public-grddl-wg@w3.org>
A suggestion related to the later portion of Stefano's second suggestion: ".. it *MUST* return RDF/XML or it *MUST* have a mechanism to indicate what type of output the GRDDL-aware agent should expect" We went back and forth on #issue-output-formats and essentially settled [1] on demonstrating non RDF/XML coming out with an atom/turtle test case which by itself does not demonstrate GRDDL conformance as currently formally stated (which is not much of a problem since it is only one test out a set of other tests). Brian McBride offered [2] a table which summed up the media-type / output decision tree: output method media-type actual process none none rdf/xml MUST? none none turtle ???? None none rdfa ???? None none xml ???? Text none turtle ???? Text none rdf/xml ???? ... Text application/xml rdf/xml ???? ... Text rdf+xml rdf/xml ???? ... Text text/html rdfa ???? Text xhtml+xml ... XML rdf-xml rdf/xml ... ... Qname ... ... I think a change can be made to the appropriate sections to capture what is actually a web architecture best practice [3], leverage a mechanism built-in to the only transformation language explicitely addressed by the normative sections (XSLT), and have minimal impact on existing implementations which (probably) already behave in this way. It's easier for me to start with the (informal) rules and modify them to ensure completeness than to start with the human-readable normative section (ironically enough) so consider: (?XSLTResult ?media-type) gspec:rdfParseByMediaType ?G. (?TXNODE ?R) gspec:result ?XSLTResult. ?TXDOC gspec:ouputMediaType ?media-type. ?TXDOC grddl:transformationProperty ?TP; log:uri [fn:doc ?TXNODE]. } => { ?R ?TP ?G }. ?RDFXML gspec:rdfParse ?G. (?TXNODE ?R) gspec:resultTree ?RDFXML ?TXDOC grddl:transformationProperty ?TP; log:uri [fn:doc ?TXNODE]. } => { ?R ?TP ?G}. The bottom rule is same as before, so the top is an additional informative rule. Notice gspec:rdfParseByMediaType is included. Where ?gspec:rdfParse is defined (same as before): "Whenever the RDF/XML spec says that an RDF/XML document with root node ROOT represents a graph G, we have ?ROOT gspec:rdfParse ?G." Alternatively gspec:rdfParseByMediaType is Where we have a RDF concrete syntax (turtle, n3, trix, etc..) associated with a media-type, then we have ?RDFSyntax gspec:rdfParseByMediaType G where G is an abstract RDF graph which corresponds with the result of parsing ?RDFSyntax as mandated by the (registered?) media-type. gspec:outputMediaType is essentially the result of applying string(/xsl:stylesheet/xsl:output/@media-type) to ?TXNODE gspec:anyResultTree associates an XSLT result tree (XML or otherwise) with its source document and the ?TXNode. so: gspec:resultTree rdfs:subPropertyOf gspec:anyResultTree Note that by definition via [http://www.w3.org/TR/xslt#output] , gspec:resultTree (the RDF/XML-only variety) applies only where the output method is 'xml' explicitely, or by 'default'. This covers everything except scenarios where there is no media-type (bad practice [WEB ARCH]) and the output method is not 'xml'. XSLT gives rules for determining a default output method which is one of either html (definately not a GRDDL result) or 'xml' - we know what to do with the latter. [1] http://lists.w3.org/Archives/Public/public-grddl-wg/2006Dec/att-0011/06-grddl-wg-minutes.html__charset_us-ascii#item04 [2] http://lists.w3.org/Archives/Public/public-grddl-wg/2006Nov/0136.html [2] http://www.w3.org/TR/webarch/#internet-media-type Chimezie Ogbuji Lead Systems Analyst Thoracic and Cardiovascular Surgery Cleveland Clinic Foundation 9500 Euclid Avenue/ W26 Cleveland, Ohio 44195 Office: (216)444-8593 ogbujic@ccf.org
Received on Tuesday, 6 March 2007 02:11:09 UTC