LSIDs and RDF Kevin Richards TDWG 2006. Introduction Kevin Richards (Landcare Research NZ) –Landcare Informatics group –GUID Subgroup –LSID.NET code port.

Slides:



Advertisements
Similar presentations
XPointer and HTTP Range A possible design for a scalable and extensible RDF Data Access protocol. Bryan Thompson Presented to the RDF Data Access.
Advertisements

TDWG GUID-2 June 10, 2006Jessie Kennedy/Rob Gales LSID Resolution In SEEK Taxon.
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
DDI3 Uniform Resource Names: Locating and Providing the Related DDI3 Objects Part of Session: DDI 3 Tools: Possibilities for Implementers IASSIST Conference,
The Semantic Web – WEEK 4: RDF
Introduction to RDF Based on tutorial at
CS570 Artificial Intelligence Semantic Web & Ontology 2
Chapter 3 RDF Syntax 1. Topics Basic concepts of RDF resources, properties, values, statements, triples URIs and URIrefs RDF graphs Literals and Qnames.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
Chapter 7: Resource Description Framework (RDF) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley,
RDF: Building Block for the Semantic Web Jim Ellenberger UCCS CS5260 Spring 2011.
Topics in this presentation: The Web and how it works Difference between Web pages and web sites Web browsers and Web servers HTML purpose and structure.
WWW and Internet The Internet Creation of the Web Languages for document description Active web pages.
Module 2b: Modeling Information Objects and Relationships IMT530: Organization of Information Resources Winter, 2007 Michael Crandall.
UKOLUG - July Metadata for the Web RDF and the Dublin Core Andy Powell UKOLN, University of Bath UKOLN.
Metadata Standards and Applications 4. Metadata Syntaxes and Containers.
Z39.50, XML & RDF Applications ZIG Tutorial January 2000 Poul Henrik Jørgensen, Danish Bibliographic Centre,
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
IT 210 The Internet & World Wide Web introduction.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
RDF (Resource Description Framework) Why?. XML XML is a metalanguage that allows users to define markup XML separates content and structure from formatting.
1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.
Practical RDF Chapter 1. RDF: An Introduction
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
The Semantic Web Service Shuying Wang Outline Semantic Web vision Core technologies XML, RDF, Ontology, Agent… Web services DAML-S.
INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning.
Logics for Data and Knowledge Representation
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 21 - Web Servers (IIS, PWS and Apache) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3.
By: Dan Johnson & Jena Block. RDF definition What is Semantic web? Search Engine Example What is RDF? Triples Vocabularies RDF/XML Why RDF?
Integrating Live Plant Images with Other Types of Biodiversity Records Steve Baskauf Vanderbilt Dept. of Biological Sciences
Resource Description Framework (RDF) Presented by: Jonathan Catlett.
Chapter 9 Publishing and Maintaining Your Site. 2 Principles of Web Design Chapter 9 Objectives Understand the features of Internet Service Providers.
1 Welcome to CSC 301 Web Programming Charles Frank.
Of 41 lecture 4: rdf – basics and language. of 41 RDF basic ideas the fundamental concepts of RDF  resources  properties  statements ece 720, winter.
1 Metadata –Information about information – Different objects, different forms – e.g. Library catalogue record Property:Value: Author Ian Beardwell Publisher.
RDF and XML 인공지능 연구실 한기덕. 2 개요  1. Basic of RDF  2. Example of RDF  3. How XML Namespaces Work  4. The Abbreviated RDF Syntax  5. RDF Resource Collections.
LSIDs in a Nutshell Jun Zhao University of Manchester 1 st December, 2005.
Chapter 7: Resource Description Framework (RDF) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley,
Semantic Web Exam 1 Review.
Ricardo Pereira Software Engineer TDWG Infrastructure Project (TIP)
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
TDWG Life Sciences Identifiers Applicability Statement Ben Richardson Review Manager, LSID Applicability Statement Western Australian Herbarium Department.
The future of the Web: Semantic Web 9/30/2004 Xiangming Mu.
Introduction to the Semantic Web and Linked Data Module 1 - Unit 2 The Semantic Web and Linked Data Concepts 1-1 Library of Congress BIBFRAME Pilot Training.
Chapter 7: Resource Description Framework (RDF) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley,
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Globally Unique Identifiers in Biodiversity Informatics Kevin Richards Landcare Research NZ TDWG 2008.
THE BIBFRAME EDITOR AND THE LC PILOT Module 3 – Unit 1 The Semantic Web and Linked Data : a Recap of the Key Concepts Library of Congress BIBFRAME Pilot.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Doc.: IEEE /0169r0 Submission Joe Kwak (InterDigital) Slide 1 November 2010 Slide 1 Overview of Resource Description Framework (RFD/XML) Date:
THE SEMANTIC WEB By Conrad Williams. Contents  What is the Semantic Web?  Technologies  XML  RDF  OWL  Implementations  Social Networking  Scholarly.
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lotzi Bölöni.
Interoperability How to Build a Digital Library Ian H. Witten and David Bainbridge.
Steven Perry Dave Vieglais. W a s a b i Web Applications for the Semantic Architecture of Biodiversity Informatics Overview WASABI is a framework for.
(ITI310) By Eng. BASSEM ALSAID SESSIONS 10: Internet Information Services (IIS)
Silterra, April 2004 RDF, RSS and all that THREADING THE RDF MAZE.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
Other RDF Capabilities. Exercise: Write the following information into a set of statements (triples) and then draw them into and RDF graph The article.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
Linked Data & Semantic Web Technology The Semantic Web Part 4. Resource Description Framework (1) Dr. Myungjin Lee.
4.01 How Web Pages Work.
Introduction to Persistent Identifiers
Building the Semantic Web
Introduction to Persistent Identifiers
Middleware independent Information Service
Introduction to Persistent Identifiers
RDF 1.1 Concepts and Abstract Syntax
4.01 How Web Pages Work.
Presentation transcript:

LSIDs and RDF Kevin Richards TDWG 2006

Introduction Kevin Richards (Landcare Research NZ) –Landcare Informatics group –GUID Subgroup –LSID.NET code port Disclaimer / intended audience Overview of tutorial

Requirements Files on network –ftp://cissus.mobot.org/incoming/tdwg/Tutorial/ftp://cissus.mobot.org/incoming/tdwg/Tutorial/ –Username: garfile Password: garden2003 Internet connection Text editor (or xml editor)

RDF What is RDF –Resource Description Framework –w3C –Describes resources on the web –Putting data on the web –Intended for machine processing –Has a defined xml syntax –Semantic relationships of data objects –Aimed at distributed data with varying types

RDF Triples English language equivalent – “ has a creator whose value is John Smith” Uses GUIDs (Web based GUIDs – URIs, etc) –Eg GUID1 has creator GUID2 Subject : Predicate : Object format –Subject (the object being described) GUID or blank (infinite set) –Predicate (the relationship/property type) GUID to a property type, eg the ID of the property “creator” –Object (the value assigned to the subject object) GUID of another object, blank, or literal Build up map/graph of object relationships

RDF Graphs The basis of RDF Useful analysis and equivalence calculation tool Eg –example.org/index.html page created by staffid –example.org/index.html page language is english (en) Equivalent Triples –. "August 16, 1999". "en"

RDF formats Statement - “ has a creator whose value is John Smith” N3 notation – : dc:creator “John Smith”. Xml – John Smith

Basic RDF <rdf:RDF xmlns:rdf=" xmlns:dc=" en rdf:Description – basic description xml node Every xml node must be namespaced and the namespace must be resolvable DublinCore – handy set of basic descriptive elements, such as title, creator, language, etc

rdf:resource Eg <rdf:RDF xmlns:rdf=" xmlns:dc=" en

RDF Types Define data types Improves control of input data ranges Eg birthDate of a person Eg example.com employee Jane Smith is of type Person (n3 notation) _:jane exterms:mailbox. _:jane rdf:type exterms:Person. _:jane exterms:name "Jane Smith". _:jane exterms:empID "23748"

RDF Example FOAF Go to FOAF-a-matic web site – Create Profile, Generate RDF Copy RDF Go to W3C RDF Validator – –Validate RDF – displays triples

Inference FOAF Person A FOAF Person B Rdf triple – A knows B FOAF Person C Rdf triple – B knows C Inferred triple - A is one degree separated from C

RDF Exercise 1 Create some RDF instance xml for a specimen –Make up an namespace for the elements –Make up elements for: Specimen Catalog Number (eg SP1) Specimen Collected By Specimen Locality –Validate using RDF validator on the web Eg RDF <rdf:RDF xmlns:rdf=" xmlns:dc=" en

Example Solution <rdf:RDF xmlns:rdf=" xmlns:spec=" SP1 Fred Smith George St

RDF Schema Similar to xml schema Define RDF classes, types and properties Namespace -

RDF Schema Example Schema – TCS-RDF <rdf:RDF xmlns:rdf=" xmlns:rdfs=" xmlns:dcterms=" xmlns:dc=" xmlns:tn=" Taxon Name Name Complete

RDF Exercise 2 Collection RDF Schema –Write an RDF schema to describe our collection.org example LSIDs –Write an instance of this schema using rdf:Description tag or typed tag –Validate using RDF validator on the web

RDF RDF Triple Stores –What are they –Problems size speed of lookup distribution/duplication

Ontologies Defined using RDFS or OWL (Web Ontology Language) & others Dublin Core –eg –Eg has a creator whose value is John Smith = Subject = Predicate = Object = (John’s Id) FOAF (Friend Of A Friend) TDWG ontologies?

RDF Tools RDF Tools/Software –Protégé –Altova SemanticWorks –Oracle triple stores –W3c Validator

RDF References RDF Primer – RDF Syntax - grammar/ grammar/ RDF Schema - schema/ schema/ Another Primer w3c RDF Tutorial Dublin Core RDF -

PART 2 - LSIDs

LSIDs Overview Requirements: –Files on network ftp://cissus.mobot.org/incoming/tdwg/Tutorial/ Username: garfile Password: garden2003 –Web server (IIS) –Text editor

LSIDs Background on GUIDs –What is a GUID? Globally Unique IDentifier Persistent Opaque & transparent Resolvable? Examples: UUID, DOI, Handle, LSID, PURL

LSIDs –What is an LSID? Life Science IDentifier Developed by OMG & W3C Implemented by the team at IBM Structure – urn:lsid:authority:namespace:object:revision Eg urn:lsid:indexfungorum.org:names: Used for – data objects, databases, images, files etc? Versioning Whos using them

GUID subgroup Subgroup decisions: –To use LSIDs for identifying biodiversity data, but not exclude use of other GUIDs –Reuse GUIDs where they already exist, eg some DOIs for literature (assuming no commercial restrictions) –Use RDF for metadata of objects identified by LSIDs –Implement as a minimum the HTTP GET metadata service for each LSID server/resolver –See GUID Report -

Pros and Cons of LSIDs  Tied to physical addresses  Inspection required to determine identical contents  Brittle (broken links) URL LSID  Same Id = same content  Location independent  Enables transparent caching  Formalized, rich metadata  Requires specialised software to resolve an LSID (not built in to most software) Cons

LSID Tools and Services IBM LSID Launchpad Firefox LSID Browser LSID Tester (Rod Page) Web based resolver – Example LSID servers: –Bio Pathways – ays.org:hugo:MVP (doesn’t work with Launchpad) ays.org:hugo:MVP –Index Fungorum - urn:lsid:indexfungorum.org:names: –IPNI – urn:lsid:ipni.org:names: : –uBio - urn:lsid:ubio.org:namebank:11815

LSID Code Current Code Stacks –Open Source (sourceforge.net) –Java, C++, Perl (IBM) –Microsoft.NET (Myself)

An LSID is resolved using a three- part resolution 1 – Resolve LSID Authority 1 – Resolve LSID Authority 2 – Get Available Services 2 – Get Available Services Data Store Data Store Meta Data Store Meta Data Store 3 – Retrieve Data Client DNS + HTTP Query Authority WSDL Data via SOAP, HTTP, FTP, NFS, AFS, DFS

DNS Lookup Example Go to command prompt > nslookup > set type=srv > _lsid._tcp.indexfungorum.org Results in : lsid.indexfungorum.org ( ) -> used as authority location for resolving indexfungorum.org LSIDs

Questions before hands on tutorial?

Really Simple LSID A basic LSID setup –LSID server with only one service for returning metadata for LSIDs using HTTP GET –IIS + PHP Specimen collection example –urn:lsid:collection.org:specimens:[id] –Specimen text files to load metadata from –No data

LSID Authority Setup IIS LSID HTTP Request PHP scripts Default is to return wsdl of php authority location LSID Metadata Request Return metadata Load metadata from file

Step 1 IIS authority Add ‘authority’ folder to c:\inetpub\wwwroot Copy authority files to authority directory Start IIS: –Configure authority as a web application Explain files

Step 2 PHP Copy PHP files to c:\php Configure IIS to run PHP files (add php5isapi.dll to the mappings for authority) Add index.php to default docs Set security permissions on php files/dir?

Step 3 Configure LSID Launchpad Add local host authority for collection.org Add application for text editor Test, eg lsidres:urn:lsid:indexfungorum.org:names:213649

Step 4 Test authority Test authority –Browse to Test metadata –Browse to –Browse to ollection.org:specimens:1 ollection.org:specimens:1 Test using LSID Launchpad –lsidres:urn:lsid:collection.org:specimens:1 –Cant read/display it as it is text, not rdf

Use RDF for metadata Use the RDF collection schema (created in the RDF section) in our LSID authority Build an RDF instance for the schema Test the LSID metadata using LSID Launchpad –Eg lsidres:urn:lsid:collection.org:specimens:4

Linking to other data Add link for the person Eg –Change collectedBy property Collected By to the rdf schema –Add To the instance

Linking to other data See lsidres:urn:lsid:collection.org:specimens:6

Highlights of the LSID Java Stack –Simple APIs, synchronous and asynchronous –Support for HTTP, SOAP and FTP –WSDL, Data and Metadata Cache –Highly configurable Cache location/policy, host-mappings, metadata handling –Leverages many Java technologies Xerces, Xalan, Axis, wsdl4J, and Castor Java LSID Code

Java LSID Web Application LSID Server LSID Server Services Configuration File Startup Load services Service Registry LSID Request Lookup Service for LSID authority Create registry Response LSID Authority Classes Call appropriate authority class function HTTP Req HTTP Resp Internet

LSID Resolution code (Client) Given an LSID in String format, we can easily open an InputStream to the data or metadata. (listing1) LSID lsid = new LSID(“urn:lsid…”); LSIDResolver resolver = new LSIDResolver(lsid); InputStream data = resolver.getData(); If we care about which protocol or location to use, we can choose from those available in the WSDL returned from getAvailableServices. LSIDWSDLWrapper wsdl = resolver.getWSDLWrapper(); LSIDDataPort port = wsdl.getPortForProtocol(WSDLConstants.SOAP); InputStream in = resolver.getData(port);

LSID References LSID Source Forge - LSID.NET Source Forge - dotnethttp://sourceforge.net/projects/lsid- dotnet LSID Tutorial ibm.com/developerworks/opensource/library/os-lsid/ 128.ibm.com/developerworks/opensource/library/os-lsid/ LSID Specification - LSID Tester - LSID Launchpad ibm.com/developerworks/downloads/detail.php?group_id=124 &what=rele&id=553http://www- 124.ibm.com/developerworks/downloads/detail.php?group_id=124 &what=rele&id=553 GUID Subgroup - GUID Subgroup Reports – omments=1http://wiki.gbif.org/guidwiki/wikka.php?wakka=GUID2Report&show_c omments=1 – Firefox LSID developer site -

Thanks to Ricardo Pereira Roger Hyam Rod Page Lee Belbin The team at Landcare Research: Jerry Cooper Nick Spencer Aaron Wilton Michael Cochrane