340 likes | 466 Views
LBSC 670. Information Organization. Today. The web and automated information services Data, Ontologies and Web-services Protégé work time. Memex. Tim Berners-Lee. “ data is the new killer app ”. Facebook developers kit Twitter API Search, REST (CRUD), Stream The programmable web
E N D
LBSC 670 Information Organization
Today • The web and automated information services • Data, Ontologies and Web-services • Protégé work time
“data is the new killer app” • Facebook developers kit • Twitter API • Search, REST (CRUD), Stream • The programmable web • Hundreds of API links
Three impacts of metadata • Structured data use by Web-Services • Metadata and software design • Context-aware metadata
(1) Web-services • “A service that is accessible by means of messages sent using standard web protocols, notations and naming conventions, including XML Protocol (or until XML protocol is standardized, SOAP).”(w3c) • An approach to application design that uses structured data to invoke a request and subsequently returns structured data to the client • Temp Convert: A quick example
(2) Software design ModelViewController http://www.tonymarston.net/php-mysql/model-view-controller.html
(3) Context-Aware Metadata • Application Programming Interfaces • A set of functions that can be called from an application program to access features of another program (studiodog) • A means of allowing system to system data and service interchange • Metadata in. . . .metadata out. . . .
Example - The Flickr API • Flickr API • Types of actions • A basic RSS feed • A Search request & response • http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=fb9f06d54e82609fce557cd3d4706a2d&tags=Terrapins
Flickr REST request • A GET example: Key = value • ?method=flickr.photos.search • &api_key=fb9f06d54e82609fce557cd3d4706a2d • &tags=Terrapins • ? . . . The start of the Querystring • & . . . The Key=Value separator • = . . . Assignment operator
Web-services interoperate • “SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents”(xml.com) • Focus on developing information services (spell-checking) rather than applications (word processing) • Reusable, abstracted, formal, relevant, independent, structured, loosely coupled, documented, and discoverable(MSDN)
Web-Services use HTTP • Get: • Request a resource (e.g. using a URL) • Post: • “Submit data to be processed” (e.g. send an XML document) • Put • Update/Replace an existing resource • Delete • Remove a resource *Also Head, Trace, Options, Patch, Connect
Web-Services are RESTful • Representational State Transfer: “Style of software architecture for distributed hypermedia” (wikipedia) • Base URI: • http://api.flickr.com/services/rest/ • Internet Media Type (MIME!) • XML, JSON • An operation mechanism • GET, PUT, POST, DELETE • Capable of “Stateless” interaction
Libraries Love Web-services • SWORD: • Simple Web-Service Offering Repository Deposit • Create, Replace, Update, Delete • OAI / PHM • Open Archives Initiative Protocol for Metadata Harvesting • Uses Dublin Core • OAI / ORE • OAI / Object Reuse and Exchange • OAI for complex objects (METS)
SWORD • Simple Web-Service Offering Repository Deposit • Create, Replace, Update, Delete • Atom Publishing Protocol
SWORD is METADATA Get: Describe Post: Publish, Update Delete: Delete
OAI / PMH • Open Archive Initiative – Protocol for Metadata Harvesting • http://www.openarchives.org/pmh/
OAI/ORE http://www.openarchives.org/ore/1.0/primer.html#Example
OAI/ORE is Ontological! • Based on ATOM resource maps • Encoded in RDF (Relational Data Framework)
RDF shows relationships <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#"> <contact:Person rdf:about="http://www.w3.org/People/EM/contact#me"> <contact:fullName>Eric Miller</contact:fullName> <contact:mailbox rdf:resource="mailto:em@w3.org"/> <contact:personalTitle>Dr.</contact:personalTitle> </contact:Person> </rdf:RDF>
ATOM Resource Map • Similar to RSS • RDF defines relationships between entries • DC, DCTERMS describe items http://www.openarchives.org/ore/1.0/primer.html#AtomReM
RDF can be coded in HTML • RDFa • Half-way between HTML & RDF • Uses defined attributes to add context to HTML elements • rel • property • typeOf • Example
Ontological structures • Ontological structures facilitate automation of services • Highly structured data and knowledge create smarter services • Context defines pathways to more information
Recap: Three facets of services • Application Programming Interfaces (flickr) • Provide standard interfaces to distributed data; may include service or resource perspectives • Web Services (SWORD, OAI/PMH OAI/ORE) • Include concepts of self-documentation, protocol definition, standards focus, structured data • Software Architecture (MVC, SOA, REST) • Focuses on decomposing business processes into discrete services, uses concepts of documentation, standards basis but is not necessarily comparable with APIs or Web Services
The big ideas “The next big thing is going to be what someone else does with your data” Metadata is the language of the web - Data interoperability/automation/use Create new uses of data, empower end-users Open licensing agreements enable re-use of data
Remaining weeks • Tonight – Protégé work time • Week 12 - Dr. Jeffery Loo, Update on final projects • Week 13 – Linked data, Ontologies due • Week 14 – Final class