Resource Profiles Markup Language Stephen Downes and Luc Belliveau Atlantic Workshop on Semantics and Services Fredericton...
Overview <ul><li>Resource Profiles </li></ul><ul><ul><li>Distributed Metadata </li></ul></ul><ul><ul><li>Three Types of Me...
Distributed Metadata <ul><li>One Document, One Record? </li></ul><ul><li>Distributed Metadata: </li></ul><ul><ul><li>Multi...
Three Types of Metadata <ul><li>First Party Metadata </li></ul><ul><ul><li>Bibliographic, technical, rights </li></ul></ul...
Educational Metadata <ul><li>Educational Standards Metadata </li></ul><ul><ul><li>Matches a resource to an educational sta...
Using Resource Profiles <ul><li>Static vs Evolving Resource Description </li></ul><ul><li>Tailoring of Profile to Specific...
RPML Engine Demo
RPML Engine Demo
RPML Syntax Overview <ul><li>Getting Results </li></ul><ul><li><directive> </li></ul><ul><li>   <ruleset> </li></ul><ul><l...
RPML Syntax Overview 2 <ul><li>Using Results </li></ul><ul><li><evaluate> </li></ul><ul><li>     <true> </li></ul><ul><li>...
RPML App Flow XML <ul><li>Inputs Xpath </li></ul><ul><li>-  <inputs> </li></ul><ul><li>-   <document> </li></ul><ul><li>  ...
RPML App Flow XML 2 <ul><li>Outputs XSLT </li></ul><ul><li>-  <outputs> </li></ul><ul><li>-  <document> </li></ul><ul><li>...
RPML XSLT <ul><li>Rule – Relation Construction of Output File </li></ul><ul><li>-  <rpml:first-resource match=&quot; rule ...
RPML PHP1 <ul><li>// Include OAI DC Metadata, a yes/no value and PdfExtract metadata. </li></ul><ul><li>$resources = array...
RPML PHP2 <ul><li>$selectedDoc = new DOMDocument(); </li></ul><ul><li>$xslDoc = new DOMDocument(); </li></ul><ul><li>$xsl ...
Thanks! <ul><li>Stephen Downes </li></ul><ul><li>stephen@downes.ca  </li></ul><ul><li>Luc Belliveau </li></ul><ul><li>[ema...
Upcoming SlideShare
Loading in...5
×

Resource Profiles Markup Language

1,139

Published on

Description of RPML, and then demo of an RPML application and sample code.

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,139
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Resource Profiles Markup Language

  1. 1. Resource Profiles Markup Language Stephen Downes and Luc Belliveau Atlantic Workshop on Semantics and Services Fredericton, NB, June 14, 2010
  2. 2. Overview <ul><li>Resource Profiles </li></ul><ul><ul><li>Distributed Metadata </li></ul></ul><ul><ul><li>Three Types of Metadata </li></ul></ul><ul><ul><li>Educational Metadata </li></ul></ul><ul><ul><li>Using Resource Profiles </li></ul></ul><ul><li>Resource Profiles Markup Language </li></ul><ul><ul><li>RPML Tool Demo </li></ul></ul><ul><ul><li>RPML Syntax Overview </li></ul></ul><ul><ul><li>RPML Application Detail </li></ul></ul>
  3. 3. Distributed Metadata <ul><li>One Document, One Record? </li></ul><ul><li>Distributed Metadata: </li></ul><ul><ul><li>Multiple Metadata Formats </li></ul></ul><ul><ul><li>Multiple Authorship </li></ul></ul><ul><ul><li>Multiple Locations </li></ul></ul>
  4. 4. Three Types of Metadata <ul><li>First Party Metadata </li></ul><ul><ul><li>Bibliographic, technical, rights </li></ul></ul><ul><li>Second Party Metadata </li></ul><ul><ul><li>Page rank, usage metadata, server logs, context </li></ul></ul><ul><li>Third Party Metadata </li></ul><ul><ul><li>Classification, ratings, educational </li></ul></ul>
  5. 5. Educational Metadata <ul><li>Educational Standards Metadata </li></ul><ul><ul><li>Matches a resource to an educational standard </li></ul></ul><ul><ul><li>Curriculum, course description, competencies </li></ul></ul><ul><li>Educational Properties Metadata </li></ul><ul><ul><li>interactivity type, learning resource type, interactivity level, semantic density </li></ul></ul><ul><li>Educational Use Metadata </li></ul><ul><ul><li>Relation, sequencing, learning design </li></ul></ul>
  6. 6. Using Resource Profiles <ul><li>Static vs Evolving Resource Description </li></ul><ul><li>Tailoring of Profile to Specific Needs </li></ul><ul><li>Resource Metadata Lifecycle </li></ul><ul><li>The RPML engine selects elements from different files and combines them to form new, and possibly unique, descriptions of a given resource </li></ul>
  7. 7. RPML Engine Demo
  8. 8. RPML Engine Demo
  9. 9. RPML Syntax Overview <ul><li>Getting Results </li></ul><ul><li><directive> </li></ul><ul><li>  <ruleset> </li></ul><ul><li>    <rule test=”/dc/title”> </li></ul><ul><li>      <add-result name=”title” select=”/dc/title” /> </li></ul><ul><li>    </rule> </li></ul><ul><li>    <rule test=”/lom/general/title”> </li></ul><ul><li>      <add-result name=”title” select=”/lom/general/title” /> </li></ul><ul><li>    </rule> </li></ul><ul><li>  </ruleset> </li></ul><ul><li>  </li></ul>
  10. 10. RPML Syntax Overview 2 <ul><li>Using Results </li></ul><ul><li><evaluate> </li></ul><ul><li>    <true> </li></ul><ul><li>      <for-each result=”title” select=”node()”> </li></ul><ul><li>        <element name=”title”> </li></ul><ul><li>          <value-of select=”text()” /> </li></ul><ul><li>         </element> </li></ul><ul><li>      </for-each> </li></ul><ul><li>    </true> </li></ul><ul><li>    <false> <!-- none of the rules matched --!></false> </li></ul><ul><li>  </evaluate> </li></ul><ul><li></directive>  </li></ul>
  11. 11. RPML App Flow XML <ul><li>Inputs Xpath </li></ul><ul><li>- <inputs> </li></ul><ul><li>- <document> </li></ul><ul><li>  <text> Extracted PDF </text> </li></ul><ul><li>  <uri> file:///{$appPath}/examples/inputPdfExtracted.xml </uri> </li></ul><ul><li>  </document> </li></ul><ul><li>- <document> </li></ul><ul><li>  <text> OAI Dublin Core </text> </li></ul><ul><li>  <uri> file:///{$appPath}/examples/inputOaiDc.xml </uri> </li></ul><ul><li>  </document> </li></ul><ul><li>  </inputs> </li></ul><ul><li>  </rpmlTool> </li></ul>
  12. 12. RPML App Flow XML 2 <ul><li>Outputs XSLT </li></ul><ul><li>- <outputs> </li></ul><ul><li>- <document> </li></ul><ul><li>  <text> Learning Object Metadata (IEEE) </text> </li></ul><ul><li>  <uri> file:///{$appPath}/examples/outputLom.xml </uri> </li></ul><ul><li>  </document> </li></ul><ul><li>- <document> </li></ul><ul><li>  <text> Dublin Core </text> </li></ul><ul><li>  <uri> file:///{$appPath}/examples/outputDc.xml </uri> </li></ul><ul><li>  </document> </li></ul><ul><li>  </outputs> </li></ul>
  13. 13. RPML XSLT <ul><li>Rule – Relation Construction of Output File </li></ul><ul><li>- <rpml:first-resource match=&quot; rule &quot;> </li></ul><ul><li>- <rpml:rule test=&quot; /oai_dc:dc/dc:relation &quot;> </li></ul><ul><li>  <rpml:set-value mode=&quot; relation &quot; select=&quot; /oai_dc:dc/dc:relation &quot; /> </li></ul><ul><li>  </rpml:rule> </li></ul><ul><li>- <rpml:element name=&quot; relation &quot;> </li></ul><ul><li>  <rpml:get-value mode=&quot; relation &quot; select=&quot; text() &quot; /> </li></ul><ul><li>  </rpml:element> </li></ul><ul><li>  </rpml:first-resource> </li></ul>
  14. 14. RPML PHP1 <ul><li>// Include OAI DC Metadata, a yes/no value and PdfExtract metadata. </li></ul><ul><li>$resources = array( </li></ul><ul><li>pathinfo('file:///'.$_SERVER['SCRIPT_FILENAME'], PATHINFO_DIRNAME) .'/data/IvS7/md_1', </li></ul><ul><li>pathinfo('file:///'.$_SERVER['SCRIPT_FILENAME'], PATHINFO_DIRNAME) .'/data/IvS7/md_2', </li></ul><ul><li>pathinfo('file:///'.$_SERVER['SCRIPT_FILENAME'], PATHINFO_DIRNAME) .'/data/IvS7/md_3' </li></ul><ul><li>); </li></ul><ul><li>// Instantiate the RPML processor </li></ul><ul><li>$rpml = new rpml($resources); </li></ul><ul><li>// Output resulting XML file. </li></ul><ul><li>echo $rpml->getOutput(); </li></ul>
  15. 15. RPML PHP2 <ul><li>$selectedDoc = new DOMDocument(); </li></ul><ul><li>$xslDoc = new DOMDocument(); </li></ul><ul><li>$xsl = new XSLTProcessor(); </li></ul><ul><li>$selectedDoc->load(pathinfo.../profile/example.xml'); </li></ul><ul><li>$xslDoc->load(pathinfo... .'/inc/rpml.xsl'); </li></ul><ul><li>$xsl->importStylesheet($xslDoc); </li></ul><ul><li>$resources = implode(',', $this->resources); </li></ul><ul><li>$xsl->setParameter('', 'resources', $resources); </li></ul><ul><li>$data = ''; </li></ul><ul><li>$data = $xsl->transformToXml($selectedDoc); </li></ul>
  16. 16. Thanks! <ul><li>Stephen Downes </li></ul><ul><li>stephen@downes.ca </li></ul><ul><li>Luc Belliveau </li></ul><ul><li>[email_address] </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×