CARVIEW |
Select Language
HTTP/2 200
date: Fri, 10 Oct 2025 01:18:00 GMT
content-type: text/html; charset=iso-8859-1
content-encoding: gzip
last-modified: Tue, 24 Feb 2004 18:47:51 GMT
cache-control: max-age=21600
expires: Fri, 10 Oct 2025 07:18:00 GMT
vary: Accept-Encoding
x-backend: www-mirrors
x-request-id: 98c248049d90c172
strict-transport-security: max-age=15552000; includeSubdomains; preload
content-security-policy: frame-ancestors 'self' https://cms.w3.org/ https://cms-dev.w3.org/; upgrade-insecure-requests
cf-cache-status: BYPASS
set-cookie: __cf_bm=OXGp866fikJz0Cy7w3mld6DJbKOI3mj0MRg.gfC7CgE-1760059080-1.0.1.1-bmHC0jEIlPJGvw6Qiufl3S.a1zXDIiu.8a3zExidiRecdD8Jks4V4_DnQR7nAVB3naxrYn26dujPTSd6i_oFNrSMXfGG0TAhqX15EdtmhQs; path=/; expires=Fri, 10-Oct-25 01:48:00 GMT; domain=.w3.org; HttpOnly; Secure; SameSite=None
server: cloudflare
cf-ray: 98c248049d90c172-BLR
alt-svc: h3=":443"; ma=86400
Presenting GRDDL: Gleaning Resource Descriptions from Dialects of
Languages
Gleaning Resource Descriptions from Dialects of Languages (GRDDL)
Dan Connolly
W3C TAG meeting, 9 Feb 2004
$Revision: 1.7 $ of $Date: 2004/02/24 18:47:50 $ by $Author: connolly $
Talk Overview
- History, motivation, principles
- Early tensions, compromises for metadata in HTML
- Some architectural principles from PICS
- Syntax issues of mixing RDF and XHTML
- Proposed Solution: GRDDL
- intro/how-to, deployment so far
- enhancements, future work
Metadata in HTML 1.x (1993)
- Hypertext Markup
Language (HTML): A Representation of Textual Information and
MetaInformation for Retrieval and Interchange
June 1993
- Requirement: metadata for title, author, date, etc.
- Reality: etc. is a never-ending story
- Compromise:
<META name="who-knows" content="whatever">
PICS: Metadata for Decentralized Content Selection (1996)
- The Web spread into home with children
- Governments started considering censorship
- W3C developed PICS to demonstrate that the market could take care of this
PICS influence on Semantic Web Architecture
- basic statement structure: subject, predicate, object
- Labels can be about the document they occur in, or about some other
document.
- "anyone can say anything about anything"
- akin to HTML form action, which separates form front end from back end
- some RDDL designs have not met this requirement.
@@find details in www-tag
PICS in HTML: Syntax
- HTML uses <>; PICS uses ()
<!DOCTYPE html ...> <html lang="en"> <head> <meta http-equiv="PICS-Labels" content='(PICS-1.1 "https://www.rsac.org/ratingsv01.html" l by "martinm@raleigh.ibm.com" on "1996.06.24T10:11-0500" exp "1998.06.06T08:00-0500" r (n 0 s 0 v 0 l 0))'> <meta http-equiv="PICS-Label" content='(PICS-1.1 "https://www.classify.org/safesurf/" l by "martinm@raleigh.ibm.com" on "1996.06.24T15:38-0500" exp "1998.06.06T08:00-0500" r (SS~~000 1))'> <title>...
XML for self-similar syntax (1997, 1998)
- HTML 2, 3, 4 were on SGML
- SGML / WWW = XML
- HTML / XML = XHTML
- PICS + XML = RDF
- early adopter of namespaces
- skipped past DTDs, anticipated XML schema technology
XML: the one syntax to bind them all... cf section @@ of webarch.
RDF REC anticipates XHTML, XML Schemas (1998)
- RDF REC, appendix B: stick <rdf:RDF> in <html><head>
- XHTML REC: use DTDs
- RDF IG: ouch!
- faq-html-compliance: The suggested way of including RDF meta data in HTML is not compliant with HTML 4.01 or XHTML
- rdfms-validating-embedded-rdf: RDF embedded in XHTML and other XML documents is hard to validate
RDF Core: Just QA, not new design (2001-2004)
- faq-html-compliance
- RDF Core: oops; never mind; don't embed; link.
- rdfms-validating-embedded-rdf
- RDF Core: postponed to next version
Observation: lots of structured data in XHTML dialects (March 2000)
- bibliographies
- schedules
- issues lists
- news items
- blog rolls
March 2000 design sketch: XSLT for screen-scraping RDF out of real-world data
RDF Users: We need features more than we need standards
- Creative Commons, Trackback:
<!-- <rdf:RDF>...</rdf:RDF> -->
- ew... HotComments: "an antipattern that gets employed when somebody needs a way to extend a non-extensible format"
- huh? where's the X in XHTML?
- comments belong to the author, no?
- Semantic Web CG, Hypertext CG start public-rdf-in-xhtml-tf
Meanwhile, in the TAG...
- mixedNamespaceMeaning-13:
What is the meaning of a document composed of content in mixed
namespaces?
- RDFinXHTML-35: Syntax and semantics for embedding RDF in XHTML
- namespaceDocument-8: What should a "namespace document" look like?
GRDDL: an 80/20 solution
- Pick a way of expressing data in XHTML, and get an XSLT transformation to RDF; for example:
- Make links from your XHTML data to the transformation, using the transformation link type:
<html xmlns="https://www.w3.org/1999/xhtml"> <head profile="https://www.w3.org/2003/g/data-view"> <title>Some Document</title> <link rel="transformation" href="https://www.w3.org/2000/06/dc-extract/dc-extract.xsl" /> <meta name="DC.Subject" content="ADAM; Simple Search; Index+; prototype" /> ... </head> ... </html>
- Reference the GRDDL profile to make it clear what that transformation
link type means:
<html xmlns="https://www.w3.org/1999/xhtml"> <head profile="https://www.w3.org/2003/g/data-view"> <title>Some Document</title> ...
GRDDL XSLT service demo, example
- online GRDDL demo service by Dom,
Nov 2003.
- check its output with the W3C RDF
Validation service
@@pretty picture?
- feed output into FOAF explorer
- check its output with the W3C RDF
Validation service
- An example home page for Joe Lambda shows DC, GeoURL, RSS, FOAF, and Creative Commons Licenses.
GRDDL drawback: turing completeness
- XSLT is a big hammer
consumer runs XSLT from who knows where. trust issues
- well-known transformations should cover 80%
- short-cut local implementation
- known-good cached copies
- DSig might help for the rest
- well-known transformations should cover 80%
see: Principle of Least Power. hmm... belongs in webarch somewhere?
GRDDL Syntax: users's choice
- DTD-happy, if you like
- or just stick rdf:RDF in the head
@@todo: "standard library" of transformations like this
- works with XML in general, in fact
- Future work: RDAL: automatically generated XSLT from Relax-NG for syntax-checking
GRDDL Semantics: explicit, grounded in the Web
- exploits flexibility points:
- XHTML profiles
- XML namespaces
We didn't finish our discussion of URI-based flexibility points before webarch last call. Let's resume, please!
Namespace Documents: RDDL, HyperRDF and GRDDL
- The GRDDL profile document is also a RDDL document
- ToDo: declare domain/range ala HyperRDF
Discussion
turn GRDDL background and Rationale into a TAG finding?