cs 502: computing methods for digital libraries

21
1 CS 502: Computing Methods for Digital Libraries Lecture 10 New Developments in XML: MathML, Namespaces, RDF

Upload: orenda

Post on 15-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Lecture 10 New Developments in XML: MathML, Namespaces, RDF. CS 502: Computing Methods for Digital Libraries. Administration. Net Library: Comments, feedback, experience -- to John Saylor CDs for rebuilding laptop software: available in Upson 308 Change to schedule: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CS 502: Computing Methods for Digital Libraries

1

CS 502: Computing Methods for Digital Libraries

Lecture 10

New Developments in XML:

MathML, Namespaces, RDF

Page 2: CS 502: Computing Methods for Digital Libraries

2

Administration

Net Library:

• Comments, feedback, experience -- to John Saylor

CDs for rebuilding laptop software: available in Upson 308

Change to schedule:

• Office hours -- Wednesday• Lecture on March 14

Mid-term examination:

• Wednesday, March 8, 7:30 to 8:30

Page 3: CS 502: Computing Methods for Digital Libraries

3

MathML

Objectives:

• Encode mathematical material for teaching and scientific communication at all levels

• Encode both mathematical notation and mathematical meaning

• Facilitate conversion to and from other math formats, both presentational and semantic. e.g., TeX

• Be suitable for a wide range of output formats, including Braille

• Provide for extensibility

• Be human legible, and simple for software to generate and process

Intended for use with both HTML and XML

Page 4: CS 502: Computing Methods for Digital Libraries

4

Presentation and Content Markup

Example: a + b

Presentation:

<mrow> <mi>a</mi> <mo>+</mo> <mi>b</mi> </mrow>

Content:

<apply> <plus/> <ci>a</ci> <ci>b</ci> </apply>

Page 5: CS 502: Computing Methods for Digital Libraries

5

Presentation and Content Markup

Example: (a + b)2

Presentation:

<msup> <mfenced>

<mrow> <mi>a</mi> <mo>+</mo> <mi>b</mi> </mrow>

</mfenced> <mn>2</mn></msup>

Content:

<apply> <power/> <apply> <plus/> <ci>a</ci> <ci>b</ci> </apply> <cn>2</cn> </apply>

Page 6: CS 502: Computing Methods for Digital Libraries

6

Annotations

t0

dxx

<apply> <int/> <bvar><ci>x</ci></bvar> <lowlimit><cn>0</cn></lowlimit> <uplimit><ci>t</ci></uplimit> <apply> <divide/> <cn>1</cn> <ci>x</ci> </apply></apply>Content

Page 7: CS 502: Computing Methods for Digital Libraries

7

Annotations

t0

dxx

<mrow> <msubsup> <mo>&int;</mo> <mn>0</mn> <mi>t</mi> </msubsup> <mfrac> <mrow> <mo>&dd;</mo> <mi>x</mi> </mrow> <mi>x</mi> </mfrac></mrow>Presentation

Page 8: CS 502: Computing Methods for Digital Libraries

8

Annotations

<semantics>

Content encoding

<annotation-xml encoding="MathML-Presentation">

Presentation encoding

</annotation-xml>

</semantics>

Page 9: CS 502: Computing Methods for Digital Libraries

9

XML Namespaces

Namespaces:

•Allow those who publish XML to explicitly indicate where their information is coming from

•Avoids any confusion regarding the information's origin

Page 10: CS 502: Computing Methods for Digital Libraries

10

Using Namespaces

Examples:

<bk:title>Cheaper by the Dozen</bk:title> <isbn:number>1568491379</isbn:number>

The tag consists of two parts:

• namespace (in red)• name within namespace (in blue)

Page 11: CS 502: Computing Methods for Digital Libraries

11

Specifying Namespaces

Example 1

<xhtml xmlns = "http://www.w3.org/1999/xhtml"> ....</xhtml>

Page 12: CS 502: Computing Methods for Digital Libraries

12

Specifying Namespaces

Example 2

<?xml version="1.0"?>

<!-- both namespace prefixes are available throughout -->

<bk:book xmlns:bk = "http://loc.gov:books"

xmlns:isbn = "urn:ISBN:0-395-36341-6">

<bk:title>Cheaper by the Dozen</bk:title>

<isbn:number>1568491379</isbn:number>

</bk:book>

Page 13: CS 502: Computing Methods for Digital Libraries

13

Resource Descriptions as Graphs

Hamletcreator

Shakespeare

type

play

"Shakespeare is the author of the play Hamlet."

Page 14: CS 502: Computing Methods for Digital Libraries

14

"Shakespeare is the author of the play Hamlet."

In the Dublin Core metadata scheme, this can be represented as:

Resource Property-type Value

Hamlet ---> creator ---> Shakespeare ---> type ---> play

A different metadata scheme, might use the term author in place of creator, and the term type with a different meaning.

RDF: Metadata Schemes

Page 15: CS 502: Computing Methods for Digital Libraries

15

Use of Namespace

Hamletdc:creator

Shakespeare

dc:type

play

"Shakespeare is the author of the play Hamlet."

Page 16: CS 502: Computing Methods for Digital Libraries

16

RDF: Metadata Schemes

Define a namespace for the metadata scheme

Basic XML

<creator>Shakespeare</creator> <type>play</type>

With dc namespace

<dc:creator>Shakespeare</dc:creator> <dc:type>play</dc:type>

Page 17: CS 502: Computing Methods for Digital Libraries

17

RDF: Identifying Resources

Suppose that Hamlet is referenced by the URL: "http://hamlet.org/"

<rdf:description rdf:about = "http://hamlet.org/"> ..........</rdf:description>

Page 18: CS 502: Computing Methods for Digital Libraries

18

RDF: Full Record

Full RDF record, with XML mark-up:

<rdf:rdf>

<rdf:description rdf:about = "http://hamlet.org/">

<dc:creator>Shakespeare</dc:creator>

<dc:type>play</dc:type>

</rdf:description>

</rdf:rdf>

Page 19: CS 502: Computing Methods for Digital Libraries

19

RDF: Namespace Information

Full RDF record, with Namespace Definitions:

<rdf xmlns = “http://www.w3.org/TR/WD-rdf-syntax#” xmlns:dc = “http://purl.org/dc/elements/1.0/”>

<rdf:description rdf:about = "http://hamlet.org/">

<dc:creator>Shakespeare</dc:creator>

<dc:type>play</dc:type>

</rdf:description>

</rdf>

Page 20: CS 502: Computing Methods for Digital Libraries

20

Complexity v. Acceptance

Markup

• SGML was slow to gain acceptance because it is complex

• HTML and the web gained acceptance because they were simple

• XML is gaining acceptance steadily for structural mark-up, but has a long way to go

Style sheets

• DSSSL has not been accepted because of complexity

• CSS and XSL are slowly gaining acceptance, but have a long way to go

Page 21: CS 502: Computing Methods for Digital Libraries

21

Complexity v. Acceptance

Mathematics:

• MathML is complex but mathematics is complex. It may succeed.

Metadata markup:

• XML is becoming the standard for metadata. It is simple and intuitive.

• RDF adds functionality, but a lot more complexity.

Namespaces:

• Namespaces are a simple concept, but the notation adds a lot of complexity