• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Yads
 

Yads

on

  • 1,580 views

 

Statistics

Views

Total Views
1,580
Views on SlideShare
1,579
Embed Views
1

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • This presentation describes a model for DOI resolution advanced and developed by Tony Hammond of Elsevier Science with substantive input from Eamonn Neylon of Manifest Solutions. Work on this model has been ongoing throughout 2001.

Yads Yads Presentation Transcript

  • YADS – A D escription S ervice Tony Hammond Nature Publishing Group
  • “ Down in Hollywood” “ Going down in Hollywood You better hope that you don't run out of gas Down in Hollywood He'll drag you right out of your car and kick your ass Down in Hollywood They're standing on a corner waiting for a sucker like you Down in Hollywood Now, if you want to stay healthy just keep a-moving right on through” – Ry Cooder, Bop Till You Drop
  • YADS – “Down in Hollywood”
  • YADS – Balance Sheet
    • Caveats
    • Like Lazarus – Newly Arisen
    • Legacy DOI Roots
    • Work in Progress
    • Open Issues
    • Features
    • Body of Work Available
    • RDF & XML Views
    • Cooked into CrossRef schema
  • YADS – A Description Service (1)
    • Open Data Model for Digital Objects
    • Manages Resource Hierarchies
    • Simple Generic XML Format
    • Provides (Latent) RDF Profile
    • Core Property Set
    • Extensible Typing
  • YADS – A Description Service (2)
    • Early API – Java , Perl , Python , Ruby
    • Library Code & XSLT Stylesheets
    • Serializations
      • YADS/XML (Generic)
      • RDF/XML
      • D (Text Description)
      • SVG
      • *(SRX - SPARQL)
      • *(YAML)
      • *(JSON)
  • YADS – Use Cases
    • Co-Hosting: Platforms, Mirror Sites
    • Multi-Homing: Products, Components
    • Rendering: Formats
    • Versioning: Editions
    • Significant “ Others ” : Errata, Suppl. Material, Etc
    • Service Acquisition: Metadata, Etc
  • YADS Model Walkthrough
  • YADS – Background
    • Origins Late ‘01 from Early Work on DOI
    • Focus on Multiple Resolution
    • Dealt with Task of Relating Handle Values
      • Resources
      • Literals
      • & Groups
    • Introduced Notion of a Handle “ Map ”
    • Subsequently Generalized to Model Any Web-Based Resource
  • YADS – Model Walkthrough
    • DOI Uses Handle Directory Service
    • DOI Single Resolution
      • Simple Redirect Service
    • DOI Multiple Resolution
      • Complex Service Set
      • Requires Resource Selection
      • Requires Resource Semantics
    • YADS Data Model
      • Manages & Describes Resource Hierarchy
  • YADS – Single Resource
  • YADS – Multiple Resources
  • YADS – Groups
  • YADS – Containers
  • YADS – Hierarchy
  • YADS – Profiles
  • YADS Defining the Model
  • YADS – Schemas
    • EBNF
    • RDF
      • RDFS
      • N3
      • OWL (DAML+OIL)
    • XML
      • DTD
      • XSD
      • RELAX NG
      • (Schematron, XCSL, XMI, …)
  • YADS – EBNF yads = { ( item | nest ) } ; (* Structural elements for aggregating resources & properties *) item = {property}, ( resource | collection ), {property} ; nest = ( {property}, resource, {property}, collection, {property} ) | ( {property}, collection, {property}, resource, {property} ) ; (* Structural element for aggregating structural elements *) collection = group, {group} ; group = item | nest ; (* Resource element as per RFC 3986. *) resource = any-uri ; (* Property elements attributing metadata to resources. *) property = access | detail | directive | label | role | service | type ;
  • YADS – RDF/N3 @prefix : <#> . @prefix s: <http://www.w3.org/2000/01/rdf-schema> . # Nest class ( :collection & :resource ) :Nest a s:Class . # Item class ( :collection | :resource ) :Item a s:Class . # Resource properties :collection a s:Property ; s:domain :Item, :Nest ; s:range s:Container . :resource a s:Property ; s:domain :Item, :Nest ; s:range s:Resource . # Application properties :access a s:Property ; s:domain :Item, :Nest ; s:range s:Literal . ...
  • YADS – DTD <!DOCTYPE yads [ <!ELEMENT yads (item|nest)*> <!ELEMENT item (property*, (collection | resource), property*)> <!ELEMENT nest ((property*, collection, property*, resource, property*) | (property*, resource, property*, collection, property*))> <!ELEMENT collection (item | nest)+> <!ATTLIST collection order (choice | sequenced | unordered) &quot;unordered&quot; > <!ELEMENT resource (#PCDATA)> <!ELEMENT property (#PCDATA)> <!ATTLIST property type (access | detail | directive | label | role | service | type) #IMPLIED > ]>
  • YADS – XSD <xsd:element name = &quot;yads&quot;> <xsd:simpleType> <xsd:choice> <xsd:element ref = &quot;item&quot; minOccurs = &quot;0&quot; maxOccurs = &quot;unbounded&quot;/> <xsd:element ref = &quot;nest&quot; minOccurs = &quot;0&quot; maxOccurs = &quot;unbounded&quot;/> </xsd:choice> </xsd:simpleType> </xsd:element> <xsd:element name = &quot;item&quot;> <xsd:complexType> <xsd:sequence> <xsd:choice> <xsd:element ref = &quot;collection&quot;/> <xsd:element ref = &quot;resource&quot;/> </xsd:choice> <xsd:element ref = &quot;property” minOccurs = &quot;0&quot; maxOccurs = &quot;unbounded&quot;/> </xsd:sequence> </xsd:complexType> </xsd:element> ...
  • YADS Serializing the Model
  • YADS – Example Object
  • YADS – Description doi:1014/waterloo_&_city_line ( # Line branches on line { ( # Line stations on line branch { ( resource => < doi:1014/tube/waterloo > type => &quot; tube:station &quot; access => &quot; Rail Link &quot; ) ( resource => < doi:1014/tube/bank > type => &quot; tube:station &quot; ) } type => &quot; tube:line-branch &quot; ) } type => &quot; tube:line &quot; )
  • YADS – Handle “Map” doi:1014/waterloo_&_city_line INDEX TYPE VALUE 0 map &quot;( { ( { ( 1 2 3 ) ( 4 5 ) } 6 ) } 7 ) &quot; 1 resource < doi:1014/tube/waterloo > 2 type &quot; tube:station &quot; 3 access &quot; Rail Link &quot; 4 resource < doi:1014/tube/bank > 5 type &quot; tube:station &quot; 6 type &quot; tube:line-branch &quot; 7 type &quot; tube:line ”
  • YADS – YAML doi:1014/waterloo_&_city_line --- - # Line branches on line - - # Line stations on line branch - - resource: doi:1014/tube/waterloo type: tube:station access: Rail Link - resource: doi:1014/tube/bank type: tube:station - type: tube:line-branch - type: tube:line ...
  • YADS – Generic XML doi:1014/waterloo_&_city_line <item> <container> <item> <container> <item> <resource> doi:1014/tube/waterloo </resource> <property type=&quot;type&quot;> tube:station </property> <property type=&quot;access&quot;> Rail Link </property> </item> <item> <resource> doi:1014/tube/bank </resource> <property type=&quot;type&quot;> tube:station </property> </item> </container> <property type=&quot;type&quot;> tube:line-branch </property> </item> </container> <property type=&quot;type&quot;> tube:line </property> </item>
  • YADS – Specific XML doi:1014/waterloo_&_city_line # Resources elements are promoted to group level # and are &quot;attributed&quot; with properties <resource type=&quot; tube:line &quot;> <resource type=&quot; tube:line-branch &quot;> <resource type=&quot; tube:station &quot; access=&quot; Rail Link &quot;> doi:1014/tube/waterloo </resource> <resource type=&quot; tube:station &quot;> doi:1014/tube/bank </resource> </resource> </resource>
  • YADS – Application XML (1) doi:1014/waterloo_&_city_line # Typed resources are named <tube:line> <tube:line-branch> <tube:station access=&quot;Rail Link&quot;>doi:1014/tube/waterloo </tube:station> <tube:station>doi:1014/tube/bank</tube:station> </tube:line-branch> </tube:line>
  • YADS – Application XML (2) doi:1014/menu_popup # Application XML instance: Menu Popup <menu label=&quot;Further Links&quot;> <menu label=&quot;DOI Sites&quot;> <item label=&quot;IDF&quot;>http://www.doi.org</data> <item label=&quot;CNRI&quot;>http://www.cnri.reston.va.us</data> </menu> </menu>
  • YADS – Schemas
    • EBNF
    • RDF
      • RDFS
      • N3
      • OWL (DAML+OIL)
    • XML
      • DTD
      • XSD
      • RELAX NG
      • (Schematron, XCSL, XMI, …)
  • YADS Querying the Model
  • YADS – Querying
    • Standard Query Languages
      • RDF by SPARQL
      • (XML by XQuery?)
    • Native Query Facilities
      • API
  • YADS – SPARQL Query BASE <file:../lib/doi/rdf/format1.rdf> PREFIX yads: <doi:1014/yads-schema-2002-04-03#> SELECT ?s ?p ?o WHERE { ?s ?p ?o }
  • YADS – SPARQL Results <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <sparql xmlns=&quot;http://www.w3.org/2005/sparql-results#&quot;> <head> <variable name=&quot;s&quot;/> <variable name=&quot;p&quot;/> <variable name=&quot;o&quot;/> </head> <results ordered=&quot;false&quot; distinct=&quot;false&quot;> <result> <binding name=&quot;s&quot;><uri> file:../lib/doi/rdf/format1.rdf </uri></binding> <binding name=&quot;p&quot;><uri> doi:1014/yads-schema-2002-04-03#collection </uri></binding> <binding name=&quot;o&quot;><bnode> r1167855627r26072r1 </bnode></binding> </result> <result> <binding name=&quot;s&quot;><bnode> r1167855627r26072r5 </bnode></binding> <binding name=&quot;p&quot;><uri> http://www.w3.org/1999/02/22-rdf-syntax-ns#_1 </uri></binding> <binding name=&quot;o&quot;><bnode> r1167855627r26072r6 </bnode></binding> </result> ...
  • YADS Servicing the Model
  • YADS – Services
  • YADS Applying the Model
  • YADS – Home Page
  • YADS http://nurture.nature.com/tony/yads