Frequently Accessed Links
This page contains a living list of links to documents and web pages that I frequently use or cite, or that I felt were worth bookmarking.
RDF and Semantic Web
RDFcore: RDF working group and specification
- W3C specifications (from http://www.w3.org/TR/):
- Lassila, O. and R. Swick, "Resource Description Framework (RDF) Model and Syntax Specification", W3C Recommendation rdf-syntax, February 1999.
- Brickley, D. and R. Guha, "Resource Description Framework (RDF) Schema Specification 1.0", W3C Candidate Recommendation CR-rdf-schema, March 2000.
- Connolly, D., van Harmelen, F., Horrocks, I., McGuinness, D., Patel-Schneider, P. and L. Stein, "DAML+OIL (March 2001) Reference Description", W3C Note daml+oil-reference, December 2001.
- RDFcore working group page: http://www.w3.org/2001/sw/RDFCore/
- Current working specifications:
- Mailing list archives:
(This was the first W3C full Recommendation to be fully based on RDF.)
SWAD: Semantic Web Advanced Development
RDF Interest Group
RDF query work
- Dave Beckett's Resource Description Framework (RDF) Resource Guide: http://www.ilrt.bris.ac.uk/discovery/rdf/resources/
- Sean Palmer's miscellaneous RDF stuff: http://infomesh.net/
- Inference Web, Explanations on the Semantic Web: http://www.ksl.stanford.edu/software/IW/
- DAML project: http://www.daml.org/. In addition to the DAML_http://www.daml.org/+OIL language, this project has generated a wide range of supporting tools and ontologies.
- TAP, semantic search: http://tap.stanford.edu/.
- RDFWeb, FOAF: http://www.rdfweb.org/.
- Tim Berners-Lee and others on Web and Semantic Web issues:
- Jeremy Carroll, et al., on TriX and named graphs:
- Robert Doorenbos' 1994 dissertation on Rete: Combining Left and Right Unlinking for Matching a Large Number of Learned Rules. Even though is algorithm is much more sophisticated than vanilla (or even optimized) Rete, he does spend the first chapters explaining Forgy's classic idea of the algorithm. He also provides some (Pascal-like) pseudo-code. Via CiteSeer: http://citeseer.ist.psu.edu/doorenbos94combining.html.
- Presenting RDF using XSLT stylesheet: a very impressive example, Suntory Hall (Tokyo) Concerts Information (use view source to see the original), by Masahide Kanzaki (aka masaka): http://www.kanzaki.com/works/2004/cal/concerts-tokyo.rdf.
- Transcript of Tim Berners-Lee's Keynote Session at JavaOne, May 1996, San Francisco, California, "The Axes of Revolution". Discusses (web-like) features of Java that make it more than just another language: language, bytecodes, class library, RMI, emphasizing the need for independence between such features. The talk touches on a range of topics, but I find most telling to be the depth and breadth of vision, back there in 1996 when the Web was starting to be widely used, with respect to the Semantic Web, Web of Trust and related matters. http://java.sun.com/javaone/javaone96/TimBerners-Lee.html.
- Realising the Full Potential of the Web, Tim Berners-Lee, talk presented in London1997. Further traces early thoughts about the Semagic Web, RDF and the Web of Trust: http://www.w3.org/1998/02/Potential.html.
- W3C Web-of-Trust site access example: http://www.w3.org/2000/10/swap/doc/Trust.
WWW: World Wide Web
- RFC 2141: Moats, R., "URN Syntax", May 1997 (TXT, HTML, XML).
- RFC 2396: Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", August 1998.0
- RFC 2611: Daigle, L., van Gulik, D., Iannella, R. and P. Faltstrom, "URN Namespace Definition Mechanisms", BCP 33, June 1999.
- RFC 2648: Moats, R., "A URN Namespace for IETF Documents", August 1999.
- RFC 2732: Hinden, R., Carpenter, B. and L. Masinter, "Format for Literal IPv6 Addresses in URL's", December 1999.
- Revised URI specification: http://www.apache.org/~fielding/uri/rev-2002/rfc2396bis.html (work in progress)
- URI schemes page in the European Semantic Web project Wiki: http://esw.w3.org/topic/UriSchemes
- HTTP, RFC 2616: Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
- Part 1: Gudgin, M., Hadley, M., Mendelsohn, N., Moreau, J. and H. Nielsen, "SOAP Version 1.2 Part 1: Messaging Framework", W3C Working Draft soap12-part1, June 2002.
- Part 2: Gudgin, M., Hadley, M., Mendelsohn, N., Moreau, J. and H. Nielsen, "SOAP Version 1.2 Part 2: Adjuncts", W3C Working Draft soap12-part2, June 2002.
- Bray, T., Paoli, J., Sperberg-McQueen, C. and E. Maler, "Extensible Markup Language (XML) 1.0 (2nd ed)", W3C Recommendation xml, October 2000.
- Bray, T., Hollander, D. and A. Layman, "Namespaces in XML", W3C Recommendation xml-names, January 1999.
- Fallside, D., "XML Schema Part 0: Primer", W3C REC REC-xmlschema-0, May 2001.
- Thompson, H., Beech, D., Maloney, M. and N. Mendelsohn, "XML Schema Part 1: Structures", W3C REC-xmlschema-1, May 2001.
- Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes", W3C REC-xmlschema-2, May 2001.
- Clark, J. and S. DeRose, "XML Path Language (XPath) Version 1.0", W3C Recommendation xpath, November 1999.
- Clark, J., "XSL Transformations (XSLT) Version 1.0", W3C Recommendation xslt, November 1999.
- XML Query specification: http://www.w3.org/TR/xquery, http://www.w3.org/XML/Query#specs,
- XML Base specification: http://www.w3.org/TR/xmlbase/
- Hallam-Baker, P. and E. Maler, "Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML)", OASIS Committee Specification sstc-core, May 2002.
- Godik, S. and T. Moses, "OASIS eXtensible Access Control Markup Language (XACML)", OASIS Committee Secification cs-xacml-specification-1.0, November 2002.
- Hallam-Baker, P., Kaler, C., Monzillo, R. and A. Nadalin, "Web Services Security Core Specification", OASIS Working Draft wd-wss-core-04, November 2002.
- RFCs (See also Selected References from xml.resource.org)
- Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996.
- Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, November 1996.
- Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, August 1998.
- Hinden, R., Carpenter, B. and L. Masinter, "Format for Literal IPv6 Addresses in URL's", RFC 2732, December 1999.
- Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
- Klyne, G., "A Syntax for Describing Media Feature Sets", RFC 2533, March 1999.
- Klyne, G., "Protocol-independent Content Negotiation Framework", RFC 2703, September 1999.
- Callas, J., Donnerhacke, L., Finney, H. and R. Thayer, "OpenPGP Message Format", RFC 2440, November 1998.
- Elkins, M., Del Torto, D., Levien, R. and T. Roessler, "MIME Security with OpenPGP", RFC 3156, August 2001.
- Kohl, J. and B. Neuman, "The Kerberos Network Authentication Service (V5)", RFC 1510, September 1993.
- Ramsdell, B., "S/MIME Version 3 Message Specification", RFC 2633, June 1999.
- Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, June 1999.
- ITU (formerly CCITT) (available for purchase from http://www.itu.int/)
- International International Telephone and Telegraph Consultative Committee, "Specification of Abstract Syntax Notation One (ASN.1)", CCITT Recommendation X.208, November 1988.
- International Telephone and Telegraph Consultative Committee, "Specification of Basic Encoding Rules for Abstract Syntax Notation One (ASN.1)", CCITT Recommendation X.209, 1988.
- International International Telephone and Telegraph Consultative Committee, "Information Technology - Open Systems Interconnection - The Directory: Authentication Framework", CCITT Recommendation X.509, November 1988.
- International International Telephone and Telegraph Consultative Committee, "Specification of Abstract Syntax Notation One (ASN.1): Specification of Basic Notation", CCITT Recommendation X.680, July 1994.
- International International Telephone and Telegraph Consultative Committee, "Abstract Syntax Notation One (ASN.1): Specification of basic notation", CCITT Recommendation X.680, July 2002.
- International International Telephone and Telegraph Consultative Committee, "ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)", CCITT Recommendation X.690, July 1994.
- International International Telephone and Telegraph Consultative Committee, "ASN.1 encoding rules: Specification of basic encoding Rules (BER), Canonical encoding rules (CER) and Distinguished encoding rules (DER)", CCITT Recommendation X.690, July 2002.
- RFC editor
- Haskell tutorial materials
- Papers exploring the advantages of functional programming
- Why Functional Programming Matters, John Hughes: linked from http://www.math.chalmers.se/~rjmh/Papers/whyfp.html. This gives some strong indicators why one might choose a language like Haskell, which in turn suggests styles of programming that best leverage Haskell's strengths.
- Scrap Your Boilerplate, Ralf Lammel and Simon Peyton-Jones: linked from http://www.cs.vu.nl/Strafunski/gmap/. Even though it describes features not yet present in standard Haskell, this serves as a continuation of the John Hughes paper, suggesting the kind of coding advantages one might seek to gain from a functional language like Haskell.
- Haskell vs. Ada vs. C++ vs. Awk vs. ..., An Experiment in Software Prototyping Productivity, Paul Hudak, Mark P. Jones: http://www.haskell.org/papers/NSWC/jfp.ps.
- "It is significant that Mr. Domanski, Mr. Banowetz and Dr. Brosgol were all surprised and suspicious when we told them that Haskell prototype P1 (see appendix B) is a complete tested executable program. We provided them with a copy of P1 without explaining that it was a program, and based on preconceptions from their past experience, they had studied P1 under the assumption that it was a mixture of requirements specification and top level design. They were convinced it was incomplete because it did not address issues such as data structure design and execution order."
- Monads - an aspect of Haskell that is at once very easy to use and bewilderingly subtle to master. Papers I have found useful include:
- Haskell language extensions. There are some small, commonly implemented extensions to the "standard" Haskell-98 language that significantly add to its expressive power:
- Hierarchical modules: http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#HIERARCHICAL-MODULES
- Multiparameter type classes: http://www.haskell.org/ghc/docs/latest/html/users_guide/type-extensions.html#MULTI-PARAM-TYPE-CLASSES. See also Type classes: exploring the design space, Simon Peyton Jones, Mark Jones, Erik Meijer: http://research.microsoft.com/~simonpj/multi.ps.gz
- Type classes with functional dependencies: http://www.haskell.org/ghc/docs/latest/html/users_guide/type-extensions.html#FUNCTIONAL-DEPENDENCIES. See also: Type Classes with Functional Dependencies, Mark P. Jones: http://www.cse.ogi.edu/~mpj/pubs/fundeps.html. These are used by the Monad transformer library functions that ship with GHC.
- Rank-2 polymorphism, and higher rank polymorphism: http://www.haskell.org/ghc/docs/latest/html/users_guide/type-extensions.html#UNIVERSAL-QUANTIFICATION.
- Generics: this isn't yet what I'd call commonly implemented (the type mechanisms are beta in GHC 6.0), and involves a combination of a "type enquiry and interpretation" mechanism (called "type cast", but I think that's a misleading name), and rank-2 polymorphism, mentioned above. The ideas are described in Scrap Your Boilerplate, Ralf Lammel and Simon Peyton-Jones, linked from: http://www.cs.vu.nl/Strafunski/gmap/.
- "Existentially quantified" data constructors: http://www.haskell.org/ghc/docs/latest/html/users_guide/type-extensions.html#EXISTENTIAL-QUANTIFICATION. This is a device that allows a data constructor to package some related values with differing underlying type components into a single type value. I'm still not entirely sure why "existential". This appears to be syntactically related to Rank-2 and higher order polymorphism, but I haven't yet figured if it really is.
- Other advanced topics:
- XML Toolbox: http://www.fh-wedel.de/~si/HXmlToolbox/. (Recently with added XML validiation and namespace support.)
- HXML: a small, simple XML parser: http://www.flightlab.com/~joe/hxml/. Very easy to use, but limited functionality.
- Semantic Dreams: http://semantic.org/. Miscellaneous Haskell software, including JVM bridge, RDF parser.
- Exact real computation: http://www.doc.ic.ac.uk/~ae/exact-computation/.
- Other useful libraries:
- Category theory references:
- A collection of links posted by John Attwood in response to a request for information about functional programming:
- For mathematicians, I'd recommend the first 5 pages of Calculating Functional Programs, Jeremy Gibbons, 2002. http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/index.html#calcfp. ("Then I'd mention the Acid Rain Theorem, Fusion Theorem,Wadler's _Theorems for Free!_".)
- Bridging the Algorithm Gap A Linear-Time Functional Program for Paragraph Formatting, Oege de Moor and Jeremy Gibbons, 1999. http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/index.html#para.
- Financial Contracts An Adventure in Financial Engineering, 2000, Simon Peyton Jones, Jean-Marc Eber, and Julian Seward. http://www.lexifi.com/resources.html#paper.
- Functional Specification of JPEG Decompression, and an Implementation for Free, Jeroen Fokker, 1995. http://citeseer.nj.nec.com/72092.html.
- Modeling Web Interactions, Paul Graunke, Robert Bruce Findler, Shriram Krishnamurthi, Matthias Felleisen, 2003. http://citeseer.nj.nec.com/graunke03modeling.html.
- Haskell Server Pages Functional Programming and the Battle for the Middle Tier, Erik Meijer, Dannyy van Velzen, 2000. http://citeseer.nj.nec.com/318262.html.
- Writing High-Performance Server Applications in Haskell, Case Study A Haskell Web Server, Simon Marlow, 2000. http://www.haskell.org/~simonmar/bib.html (about the 4th one down).
- Section 3.1.3 of SICP. http://mitpress.mit.edu/sicp/
- Why no one uses functional languages, Philip Wadler, 1998. http://citeseer.nj.nec.com/wadler98why.html.
- Here's an old, but still relevant summary of some issues keeping fp from taking over the world. http://www.cs.colorado.edu/~zorn/cs5535/Fall-1997/haskell-summary.html.
- Schneier, B., "Applied Crypography", John Wiley and Sons ISBN 0-471-11709-9, 1996.
- Sloman, M., "Policy Driven Management for Distributed Systems", Journal of Network and Systems Management, Plenum Press Volume 2, part 4, 1994.
- SSH public key based client authentication setup: these pages really helped me get this sorted.
(See also my iTrust working group notes page.)
File types and formats
Postcodes and map data
- UK Postcodes: finding grid coordinates from area codes. http://www.jibble.org/ukpostcodes/. (Also has links to algorithms and software for deriving lattitude and longitude values.)
For feedback please see: http://www.ninebynine.org/index.html#Contact