Uniform Resource Identifiers Jacek Kopecký WSML Working Group June 2004.

Slides:



Advertisements
Similar presentations
XML-XSL Introduction SHIJU RAJAN SHIJU RAJAN Outline Brief Overview Brief Overview What is XML? What is XML? Well Formed XML Well Formed XML Tag Name.
Advertisements

Pierre-Johan CHARTRE Java EE - JAX-RS - Pierre-Johan CHARTRE
THE DONOR PROJECT Titia van der Werf-Davelaar. Project Financed by: Innovation of Scientific Information Provision (IWI) Duration: –phase 1: 1 may 1998.
XPointer and HTTP Range A possible design for a scalable and extensible RDF Data Access protocol. Bryan Thompson draft Presented to the RDF.
Transforming XML XMLNamespaces, XSLT. XML Namespaces Sometimes it is necessary to mix XML elements –Different types of content –Use of markup to convey.
REST - Representational State Transfer
Introduction to Web Services
CIS* Service-Oriented Computing
What is XML? a meta language that allows you to create and format your own document markups a method for putting structured data into a text file; these.
Creating Linked Data Juan F. Sequeda Semantic Technology Conference June 2011.
DDI3 Uniform Resource Names: Locating and Providing the Related DDI3 Objects Part of Session: DDI 3 Tools: Possibilities for Implementers IASSIST Conference,
II. Basic Web Concepts.
Website Design.
Introduction to Computing Using Python CSC Winter 2013 Week 8: WWW and Search  World Wide Web  Python Modules for WWW  Web Crawling  Thursday:
RDF Schemata (with apologies to the W3C, the plural is not ‘schemas’) CSCI 7818 – Web Technologies 14 November 2001 Van Lepthien.
Introduction to WSDL presented by Xiang Fu. Source WSDL 1.1 specification WSDL 1.1 specification – WSDL 1.2 working draft WSDL.
The Semantic Web – WEEK 4: RDF
1 RDF Tutorial. C. Abela RDF Tutorial2 What is RDF? RDF stands for Resource Description Framework It is used for describing resources on the web Makes.
CIS 375—Web App Dev II SOAP.
SOAP SOAP is a protocol for accessing a Web Service. SOAP stands for Simple Object Access Protocol * SOAP is a communication protocol * SOAP is for communication.
Topics Acronyms in Action SOAP 6 November 2008 CIS 340.
Web Services Seminar: Service Description Languages
SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport.
SE 370: Programming Web Services Week 4: SOAP & NetBeans Copyright © Steven W. Johnson February 1, 2013.
OCLC Research TAI CHI Webinar 5/27/2010 A Gentle Introduction to Linked Data Ralph LeVan Sr. Research Scientist OCLC Research.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Ontology Versioning Tool DIP D2.4 Jacek Kopecký SDK meeting, Grenoble, April 2005.
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
IST 221 Internet Concepts and Applications Internet, WWW and HTML 1.
ECA 228 Internet/Intranet Design I Intro to XML. ECA 228 Internet/Intranet Design I HTML markup language very loose standards browsers adjust for non-standard.
EPICUR Kathrin Schroeder ERPANET-Workshop „Persistent Identifiers“ (17th June 2004) Uniform Resource Names (URN) – Overview Die Deutsche Bibliothek.
Copyright © 2004, Epok, Inc. Extensible Resource Identifiers (XRIs) XDI Face to Face 28 April 2004.
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
CSCI 323 – Web Development Chapter 1 - Setting the Scene We’re going to move through the first few chapters pretty quick since they are a review for most.
Pemrograman Berbasis WEB XML part 2 -Aurelio Rahmadian- Sumber: w3cschools.com.
Chapter 9 Web Services Architecture and XML. Objectives By study in the chapter, you will be able to: Describe what is the goal of the Web services architecture.
Web Architecture Dr. Frank McCown Intro to Web Science Harding University This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike.
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
Why XML ? Problems with HTML HTML design - HTML is intended for presentation of information as Web pages. - HTML contains a fixed set of markup tags. This.
The Semantic Web Service Shuying Wang Outline Semantic Web vision Core technologies XML, RDF, Ontology, Agent… Web services DAML-S.
XML 1 Enterprise Applications CE00465-M XML. 2 Enterprise Applications CE00465-M XML Overview Extensible Mark-up Language (XML) is a meta-language that.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
 XML is designed to describe data and to focus on what data is. HTML is designed to display data and to focus on how data looks.  XML is created to structure,
URLs and Resources Herng-Yow Chen.
Hyperlinking to time offsets: The temporal URI specification W3C Video Workshop Silvia Pfeiffer Dec 2007 Annodex Association, Xiph.Org, Vquence.
What it is and how it works
XML Basics A brief introduction to XML in general 1XML Basics.
Web Architecture update for WSAWG/WSDL TAG published Principles of the Web Contents: –Identifiers Most of the work –Formats Not much –Protocols Summary.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
Interoperability How to Build a Digital Library Ian H. Witten and David Bainbridge.
XP 1 Charles Edeki AIU Live Chat for Unit 2 ITC0381.
1 Unraveling the Web: How Does it All Work?. 2 Web Enabling Technologies F TCP/IP network (Internet & others) F URLs F HTTP protocol and HTTP Servers.
SEMI-STRUCTURED DATA (XML) 1. SEMI-STRUCTURED DATA ER, Relational, ODL data models are all based on schema Structure of data is rigid and known is advance.
Linked Data Publishing on the Semantic Web Dr Nicholas Gibbins
Linked Data & Semantic Web Technology The Semantic Web Part 3. URI for the Semantic Web Dr. Myungjin Lee.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Web Server Design Week 3 Old Dominion University Department of Computer Science CS 495/595 Spring 2006 Michael L. Nelson 1/23/06.
Unit 4 Representing Web Data: XML
HTTP – An overview.
XML QUESTIONS AND ANSWERS
Chapter Eight Interoperability How to Build a Digital Library
Naming in Distributed Web-based Systems
The Architecture of the World Wide Web
Chapter 7 Representing Web Data: XML
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Namespace Review 21-Nov-18.
Namespace Review 29-Dec-18.
COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016)
WebDAV Design Overview
Namespace Review 14-Oct-19.
Presentation transcript:

Uniform Resource Identifiers Jacek Kopecký WSML Working Group June 2004

2 Jacek Kopecký, Overview History of URIs URI syntax URI references and their resolution Good practices for creating URIs Interesting issues

June Jacek Kopecký, URI History Universal Resource Identifiers (RFC 1630, June 1994) Uniform Resource Locators and Names RFC 2396, August bis in development Originally “Universal”, later “Uniform” as a compromise “Universal” again preferred by TimBL

June Jacek Kopecký, URLs and URNs Locators (addresses) vs. Names URNs not easily dereferencable URNs can be made dereferencable by infrastructure URLs perceived as less persistent URLs and URNs drifting towards middle ground No point in making the distinction any more

June Jacek Kopecký, Uniform Resource Identifiers URIs “identify” “resources” Identification doesn’t imply interaction Resource is a sameness of characteristics over time Latest blog rant Latest blog rant on politics Blog rant on politics from Resource need not be accessible when URI is created Pictures from my future trip to London will be at

June Jacek Kopecký, URI Syntax According to 2396bis Examples news:comp.infosystems. telnet://melvyl.ucop.edu/ URI Syntax - simplified scheme: [//authority] [/path] [?query] [#fragid] Relative URI without “scheme:” Dot path segments (‘.’ and ‘..’) treated specially

June Jacek Kopecký, URI Syntax cont’d Reserved characters (like ) Many allowed characters Rest of UNICODE percent-encoded from UTF-8 Percent-encoding allowed characters creates equivalent URIs But namespaces compared char-by-char

June Jacek Kopecký, URI Reference Resolution Resolving URI A against base URI B Going from the left, keep as much from B as is undefined in A First part of A replaces that part from B Path resolution special If A has absolute path, that is taken Relative path from A resolved against path from B, removing dot segments from result Everything after first part of A taken from A Fragment always taken from A

June Jacek Kopecký, URI Ref. Resolution Examples Base URI: 1.g= 2..= 3../= 4../g= = /= /g= /../g= /../../g=

June Jacek Kopecký, URI Ref. Resolution Examples Base URI: 10././g= 11.//g= 12.#s= 13.g#s= 14.?y= 15.g?y= 16.g?y#s= 17.g:h= g:h 18../g:h=

June Jacek Kopecký, Base URIs Necessary when resolving URI references 1.Explicit base URI embedded in content 2.URI of the document Usual in HTML files on the web 3.App-dependent base URI default

June Jacek Kopecký, URI Equivalence Do two URIs identify the same resource? Comparing without accessing the resources Various applications for URI comparison Increasing cache efficiency Comparing the namespaces of two symbols Algorithms must avoid false positives False negatives unavoidable redirect to above

June Jacek Kopecký, Uses of URIs Addresses on the Web Namespaces in XML QNames Namespaces in QNames in other languages Identifiers of things and concepts (e.g. RDF) Unique keys (e.g. MIME message ID)

June Jacek Kopecký, QName Introduced in XML Namespaces Name of an XML namespace-qualified element RDF uses QNames for brevity of URI notation XML Schema expanded use of QNames to further things (6 symbol spaces) Every following language uses QNames as identifiers Number of independent symbol spaces => Turning QNames into URIs is cumbersome Should have been as simple as in RDF (IMHO)

June Jacek Kopecký, Creating URIs for Web Resources Versioning approach for persistence vs. vs. Simple, memorable URIs Scribbled on a napkin Correcting spelling and case helps – mod_speling Making the “ prefix optional (both ways) helps Content negotiation – drop.html (.php,.asp) URI changes harmful

June Jacek Kopecký, Creating Example URIs Reserved for precisely this purpose Or use own domain (deri.org, wsmo.org) not good

June Jacek Kopecký, Creating URIs for Namespaces Dereferencable, ending with ‘/’ or ‘#’ Canonical URIs – no unnecessary dot segments or percent-encoding Namespaces compared char-by-char Namespace document Preferably in the language that uses the namespace – enables automatic discovery With human-oriented descriptions To allow for the above, don’t share namespace URIs for schema and WSDL

June Jacek Kopecký, Creating URIs for Concepts Group concepts in a common, dereferencable namespace Each concept identified by its fragID In RDF/XML, namespace ends with ‘#’ Namespace document describes the concepts Two problems FragIDs depend on media types Can identify a car?

June Jacek Kopecký, Fragment IDs in URIs Fragment ID identifies a secondary resource Interpretation of fragment IDs depends on media type In HTML In XML No meaning in JPEG xml:id in development So far language-dependent (often DTD) solutions Fragment IDs should mean the same thing across media types with content negotiation

June Jacek Kopecký, Range of HTTP URIs? Open W3C TAG issue Can http: URI identify a car? Can I say is my motorbike? TimBL doesn’t seem to think so Is it necessary to distinguish between a thing and a description of that thing?

June Jacek Kopecký, Other Interesting Issues data: URI scheme – the URI is the resource RFC 2397 data:image/gif;base64,R0lGODdhMAAwAPAA… mailto: scheme a misnomer URIs don’t specify actions but identifiers uuid: scheme for unique identifiers Good for transient identification in closed systems Mismatches between perceived and intended meaning of a resource Should URIs be human-readable?

June Jacek Kopecký, Main Points Cool URIs don’t change URIs can be (and are) scribbled on napkins URIs don’t (necessarily) point to documents Dereferencable URIs also good as names URLs, URNs obsolete

June Jacek Kopecký, References

June Jacek Kopecký, Hope it Helped Thanks for your attention Questions? Comments?