INF3580/4580 – Semantic Technologies – Spring 2016 Lecture 15: RDFa

Martin Giese

30th May 2016

Department of University of Informatics Oslo Repetition

18 June: Guest lecture, Lars Marius Garshol 25 May: no lecture (Whit Monday) 1st June is reserved for “Repetition” No fixed lecture material You, the students, say what you want to hear Let me know in time, so I’m prepared. Drop a mail to [email protected] until 18th May

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 2 / 29 Today’s Plan

1 Reminder

2 Linking RDF to HTML

3 RDFa

4 Conclusion

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 3 / 29 Reminder Outline

1 Reminder

2 Linking RDF to HTML

3 RDFa

4 Conclusion

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 4 / 29 FOAF profiles data files from dbpedia.org, geonames, etc. In RSS 1.0 feeds

for instance dbpedia.org, dblp, and others

In RDF files, downloadable with HTTP, FTP, etc.

Published using LOD principles (hash/ ) As in PDF/A files As data model behind SPARQL query endpoints

Embedded in HTML, as RDFa

Reminder RDF on the Web

RDF data exists in many forms:

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 5 / 29 for instance dbpedia.org, dblp, and others

FOAF profiles data files from dbpedia.org, geonames, etc. In RSS 1.0 feeds Published using LOD principles (hash/slash namespaces) As metadata in PDF/A files As data model behind SPARQL query endpoints

Embedded in HTML, as RDFa

Reminder RDF on the Web

RDF data exists in many forms: In RDF files, downloadable with HTTP, FTP, etc.

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 5 / 29 for instance dbpedia.org, dblp, and others

data files from dbpedia.org, geonames, etc. In RSS 1.0 feeds Published using LOD principles (hash/slash namespaces) As metadata in PDF/A files As data model behind SPARQL query endpoints

Embedded in HTML, as RDFa

Reminder RDF on the Web

RDF data exists in many forms: In RDF files, downloadable with HTTP, FTP, etc. FOAF profiles

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 5 / 29 for instance dbpedia.org, dblp, and others

In RSS 1.0 feeds Published using LOD principles (hash/slash namespaces) As metadata in PDF/A files As data model behind SPARQL query endpoints

Embedded in HTML, as RDFa

Reminder RDF on the Web

RDF data exists in many forms: In RDF files, downloadable with HTTP, FTP, etc. FOAF profiles data files from dbpedia.org, geonames, etc.

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 5 / 29 for instance dbpedia.org, dblp, and others

Published using LOD principles (hash/slash namespaces) As metadata in PDF/A files As data model behind SPARQL query endpoints

Embedded in HTML, as RDFa

Reminder RDF on the Web

RDF data exists in many forms: In RDF files, downloadable with HTTP, FTP, etc. FOAF profiles data files from dbpedia.org, geonames, etc. In RSS 1.0 feeds

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 5 / 29 for instance dbpedia.org, dblp, and others

As metadata in PDF/A files As data model behind SPARQL query endpoints

Embedded in HTML, as RDFa

Reminder RDF on the Web

RDF data exists in many forms: In RDF files, downloadable with HTTP, FTP, etc. FOAF profiles data files from dbpedia.org, geonames, etc. In RSS 1.0 feeds Published using LOD principles (hash/slash namespaces)

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 5 / 29 for instance dbpedia.org, dblp, and others

As data model behind SPARQL query endpoints

Embedded in HTML, as RDFa

Reminder RDF on the Web

RDF data exists in many forms: In RDF files, downloadable with HTTP, FTP, etc. FOAF profiles data files from dbpedia.org, geonames, etc. In RSS 1.0 feeds Published using LOD principles (hash/slash namespaces) As metadata in PDF/A files

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 5 / 29 for instance dbpedia.org, dblp, and others Embedded in HTML, as RDFa

Reminder RDF on the Web

RDF data exists in many forms: In RDF files, downloadable with HTTP, FTP, etc. FOAF profiles data files from dbpedia.org, geonames, etc. In RSS 1.0 feeds Published using LOD principles (hash/slash namespaces) As metadata in PDF/A files As data model behind SPARQL query endpoints

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 5 / 29 Embedded in HTML, as RDFa

Reminder RDF on the Web

RDF data exists in many forms: In RDF files, downloadable with HTTP, FTP, etc. FOAF profiles data files from dbpedia.org, geonames, etc. In RSS 1.0 feeds Published using LOD principles (hash/slash namespaces) As metadata in PDF/A files As data model behind SPARQL query endpoints for instance dbpedia.org, dblp, and others

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 5 / 29 Reminder RDF on the Web

RDF data exists in many forms: In RDF files, downloadable with HTTP, FTP, etc. FOAF profiles data files from dbpedia.org, geonames, etc. In RSS 1.0 feeds Published using LOD principles (hash/slash namespaces) As metadata in PDF/A files As data model behind SPARQL query endpoints for instance dbpedia.org, dblp, and others Embedded in HTML, as RDFa

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 5 / 29 Linking RDF to HTML Outline

1 Reminder

2 Linking RDF to HTML

3 RDFa

4 Conclusion

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 6 / 29 Linking RDF to HTML The Problem

The HTML web contains lots of human-readable information How can clients discover the location of corresponding machine-readable information?

−→?

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 7 / 29 Not recommended: Does not fit HTML or XHTML DTDs No satisfactory solution, due to flexible RDF vocabulary B.t.w. there is a metadata element in SVG for this!

Linking RDF to HTML Embedding RDF/XML in (X)HTML

First idea: Embed RDF/XML in HTML or XHTML: My Homepage Martin Giese ...

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 8 / 29 Does not fit HTML or XHTML DTDs No satisfactory solution, due to flexible RDF vocabulary B.t.w. there is a metadata element in SVG for this!

Linking RDF to HTML Embedding RDF/XML in (X)HTML

First idea: Embed RDF/XML in HTML or XHTML: My Homepage Martin Giese ... Not recommended:

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 8 / 29 No satisfactory solution, due to flexible RDF vocabulary B.t.w. there is a metadata element in SVG for this!

Linking RDF to HTML Embedding RDF/XML in (X)HTML

First idea: Embed RDF/XML in HTML or XHTML: My Homepage Martin Giese ... Not recommended: Does not fit HTML or XHTML DTDs

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 8 / 29 B.t.w. there is a metadata element in SVG for this!

Linking RDF to HTML Embedding RDF/XML in (X)HTML

First idea: Embed RDF/XML in HTML or XHTML: My Homepage Martin Giese ... Not recommended: Does not fit HTML or XHTML DTDs No satisfactory solution, due to flexible RDF vocabulary

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 8 / 29 Linking RDF to HTML Embedding RDF/XML in (X)HTML

First idea: Embed RDF/XML in HTML or XHTML: My Homepage Martin Giese ... Not recommended: Does not fit HTML or XHTML DTDs No satisfactory solution, due to flexible RDF vocabulary B.t.w. there is a metadata element in SVG for this!

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 8 / 29 CSS style sheets Alternative languages Next, previous, index, etc.

rel – the kind of relation type – the media type of the related document href – the URL of the other document title – the title of the other document (and some more)

relate a document to other documents

Can contain attributes:

E.g. a style sheet: My Homepage css">

Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 rel – the kind of relation type – the media type of the related document href – the URL of the other document title – the title of the other document (and some more)

CSS style sheets Alternative languages Next, previous, index, etc. Can contain attributes:

E.g. a style sheet: My Homepage

Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements relate a document to other documents

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 rel – the kind of relation type – the media type of the related document href – the URL of the other document title – the title of the other document (and some more)

Alternative languages Next, previous, index, etc. Can contain attributes:

E.g. a style sheet: My Homepage

Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements relate a document to other documents CSS style sheets

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 rel – the kind of relation type – the media type of the related document href – the URL of the other document title – the title of the other document (and some more)

Next, previous, index, etc. Can contain attributes:

E.g. a style sheet: My Homepage

Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements relate a document to other documents CSS style sheets Alternative languages

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 rel – the kind of relation type – the media type of the related document href – the URL of the other document title – the title of the other document (and some more)

Can contain attributes:

E.g. a style sheet: My Homepage

Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements relate a document to other documents CSS style sheets Alternative languages Next, previous, index, etc.

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 rel – the kind of relation type – the media type of the related document href – the URL of the other document title – the title of the other document (and some more) E.g. a style sheet: My Homepage

Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements relate a document to other documents CSS style sheets Alternative languages Next, previous, index, etc. Can contain attributes:

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 type – the media type of the related document href – the URL of the other document title – the title of the other document (and some more) E.g. a style sheet: My Homepage

Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements relate a document to other documents CSS style sheets Alternative languages Next, previous, index, etc. Can contain attributes: rel – the kind of relation

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 href – the URL of the other document title – the title of the other document (and some more) E.g. a style sheet: My Homepage

Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements relate a document to other documents CSS style sheets Alternative languages Next, previous, index, etc. Can contain attributes: rel – the kind of relation type – the media type of the related document

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 title – the title of the other document (and some more) E.g. a style sheet: My Homepage

Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements relate a document to other documents CSS style sheets Alternative languages Next, previous, index, etc. Can contain attributes: rel – the kind of relation type – the media type of the related document href – the URL of the other document

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 (and some more) E.g. a style sheet: My Homepage

Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements relate a document to other documents CSS style sheets Alternative languages Next, previous, index, etc. Can contain attributes: rel – the kind of relation type – the media type of the related document href – the URL of the other document title – the title of the other document

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 E.g. a style sheet: My Homepage

Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements relate a document to other documents CSS style sheets Alternative languages Next, previous, index, etc. Can contain attributes: rel – the kind of relation type – the media type of the related document href – the URL of the other document title – the title of the other document (and some more)

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 Linking RDF to HTML HTML LINK elements

LINK may occur inside HTML HEAD elements relate a document to other documents CSS style sheets Alternative languages Next, previous, index, etc. Can contain attributes: rel – the kind of relation type – the media type of the related document href – the URL of the other document title – the title of the other document (and some more) E.g. a style sheet: My Homepage INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 9 / 29 Note: difference between meta-data and alternative representation

Also: rel="meta"

Turtle: type="text/turtle; charset=UTF-8" Various plugins exist to detect these LINKs

Linking RDF to HTML LINKing to RDF

To link to an RDF representation: xml" title="RDF/XML version" href="http://dbpedia.org/data/Oslo.xml">

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 10 / 29 Note: difference between meta-data and alternative representation Turtle: type="text/turtle; charset=UTF-8" Various web browser plugins exist to detect these LINKs

Linking RDF to HTML LINKing to RDF

To link to an RDF representation: Also: rel="meta"

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 10 / 29 Turtle: type="text/turtle; charset=UTF-8" Various web browser plugins exist to detect these LINKs

Linking RDF to HTML LINKing to RDF

To link to an RDF representation: Also: rel="meta" Note: difference between meta-data and alternative representation

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 10 / 29 Various web browser plugins exist to detect these LINKs

Linking RDF to HTML LINKing to RDF

To link to an RDF representation: Also: rel="meta" Note: difference between meta-data and alternative representation Turtle: type="text/turtle; charset=UTF-8"

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 10 / 29 Linking RDF to HTML LINKing to RDF

To link to an RDF representation: Also: rel="meta" Note: difference between meta-data and alternative representation Turtle: type="text/turtle; charset=UTF-8" Various web browser plugins exist to detect these LINKs

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 10 / 29 can be sent also with non-HTML data requires only HEAD request

Only works with HTML data, not PDF, Images, etc. Need to download HTML content and search LINK. Idea: put information in HTTP response header. Non-standardized proposal, originally by Berners-Lee, 1992 Generated by a few servers, recognized by a few clients Same information as in LINK HTML element, but as HTTP header: Link: ; rel="alternate"; type="application/rdf+xml" Advantages:

Linking RDF to HTML HTTP Link: response headers

Problems with elements:

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 11 / 29 can be sent also with non-HTML data requires only HEAD request

Need to download HTML content and search LINK. Idea: put information in HTTP response header. Non-standardized proposal, originally by Berners-Lee, 1992 Generated by a few servers, recognized by a few clients Same information as in LINK HTML element, but as HTTP header: Link: ; rel="alternate"; type="application/rdf+xml" Advantages:

Linking RDF to HTML HTTP Link: response headers

Problems with elements: Only works with HTML data, not PDF, Images, etc.

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 11 / 29 can be sent also with non-HTML data requires only HEAD request

Idea: put information in HTTP response header. Non-standardized proposal, originally by Berners-Lee, 1992 Generated by a few servers, recognized by a few clients Same information as in LINK HTML element, but as HTTP header: Link: ; rel="alternate"; type="application/rdf+xml" Advantages:

Linking RDF to HTML HTTP Link: response headers

Problems with elements: Only works with HTML data, not PDF, Images, etc. Need to download HTML content and search LINK.

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 11 / 29 can be sent also with non-HTML data requires only HEAD request

Non-standardized proposal, originally by Berners-Lee, 1992 Generated by a few servers, recognized by a few clients Same information as in LINK HTML element, but as HTTP header: Link: ; rel="alternate"; type="application/rdf+xml" Advantages:

Linking RDF to HTML HTTP Link: response headers

Problems with elements: Only works with HTML data, not PDF, Images, etc. Need to download HTML content and search LINK. Idea: put information in HTTP response header.

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 11 / 29 can be sent also with non-HTML data requires only HEAD request

Generated by a few servers, recognized by a few clients Same information as in LINK HTML element, but as HTTP header: Link: ; rel="alternate"; type="application/rdf+xml" Advantages:

Linking RDF to HTML HTTP Link: response headers

Problems with elements: Only works with HTML data, not PDF, Images, etc. Need to download HTML content and search LINK. Idea: put information in HTTP response header. Non-standardized proposal, originally by Berners-Lee, 1992

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 11 / 29 can be sent also with non-HTML data requires only HEAD request

Same information as in LINK HTML element, but as HTTP header: Link: ; rel="alternate"; type="application/rdf+xml" Advantages:

Linking RDF to HTML HTTP Link: response headers

Problems with elements: Only works with HTML data, not PDF, Images, etc. Need to download HTML content and search LINK. Idea: put information in HTTP response header. Non-standardized proposal, originally by Berners-Lee, 1992 Generated by a few servers, recognized by a few clients

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 11 / 29 can be sent also with non-HTML data requires only HEAD request

Advantages:

Linking RDF to HTML HTTP Link: response headers

Problems with elements: Only works with HTML data, not PDF, Images, etc. Need to download HTML content and search LINK. Idea: put information in HTTP response header. Non-standardized proposal, originally by Berners-Lee, 1992 Generated by a few servers, recognized by a few clients Same information as in LINK HTML element, but as HTTP header: Link: ; rel="alternate"; type="application/rdf+xml"

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 11 / 29 can be sent also with non-HTML data requires only HEAD request

Linking RDF to HTML HTTP Link: response headers

Problems with elements: Only works with HTML data, not PDF, Images, etc. Need to download HTML content and search LINK. Idea: put information in HTTP response header. Non-standardized proposal, originally by Berners-Lee, 1992 Generated by a few servers, recognized by a few clients Same information as in LINK HTML element, but as HTTP header: Link: ; rel="alternate"; type="application/rdf+xml" Advantages:

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 11 / 29 requires only HEAD request

Linking RDF to HTML HTTP Link: response headers

Problems with elements: Only works with HTML data, not PDF, Images, etc. Need to download HTML content and search LINK. Idea: put information in HTTP response header. Non-standardized proposal, originally by Berners-Lee, 1992 Generated by a few servers, recognized by a few clients Same information as in LINK HTML element, but as HTTP header: Link: ; rel="alternate"; type="application/rdf+xml" Advantages: can be sent also with non-HTML data

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 11 / 29 Linking RDF to HTML HTTP Link: response headers

Problems with elements: Only works with HTML data, not PDF, Images, etc. Need to download HTML content and search LINK. Idea: put information in HTTP response header. Non-standardized proposal, originally by Berners-Lee, 1992 Generated by a few servers, recognized by a few clients Same information as in LINK HTML element, but as HTTP header: Link: ; rel="alternate"; type="application/rdf+xml" Advantages: can be sent also with non-HTML data requires only HEAD request

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 11 / 29 RDFa Outline

1 Reminder

2 Linking RDF to HTML

3 RDFa

4 Conclusion

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 12 / 29 From the RDFa specification (http://www.w3.org/TR/rdfa-syntax/) The aim of RDFa is to allow a single RDF graph to be carried in various types of document mark-up.

Use a different “serialization” that blends well with (X)HTML!

XHTML in spec., but works with HTML and other XML RDFa adds a fixed set of attributes to (X)HTML Document type:

RDFa Once More: Embedding RDF in (X)HTML

Directly embedding RDF/XML in (X)HTML does not work well

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 13 / 29 From the RDFa specification (http://www.w3.org/TR/rdfa-syntax/) The aim of RDFa is to allow a single RDF graph to be carried in various types of document mark-up.

XHTML in spec., but works with HTML and other XML RDFa adds a fixed set of attributes to (X)HTML Document type:

RDFa Once More: Embedding RDF in (X)HTML

Directly embedding RDF/XML in (X)HTML does not work well Use a different “serialization” that blends well with (X)HTML!

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 13 / 29 XHTML in spec., but works with HTML and other XML RDFa adds a fixed set of attributes to (X)HTML Document type:

RDFa Once More: Embedding RDF in (X)HTML

Directly embedding RDF/XML in (X)HTML does not work well Use a different “serialization” that blends well with (X)HTML!

From the RDFa specification (http://www.w3.org/TR/rdfa-syntax/) The aim of RDFa is to allow a single RDF graph to be carried in various types of document mark-up.

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 13 / 29 RDFa adds a fixed set of attributes to (X)HTML Document type:

RDFa Once More: Embedding RDF in (X)HTML

Directly embedding RDF/XML in (X)HTML does not work well Use a different “serialization” that blends well with (X)HTML!

From the RDFa specification (http://www.w3.org/TR/rdfa-syntax/) The aim of RDFa is to allow a single RDF graph to be carried in various types of document mark-up.

XHTML in spec., but works with HTML and other XML

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 13 / 29 Document type:

RDFa Once More: Embedding RDF in (X)HTML

Directly embedding RDF/XML in (X)HTML does not work well Use a different “serialization” that blends well with (X)HTML!

From the RDFa specification (http://www.w3.org/TR/rdfa-syntax/) The aim of RDFa is to allow a single RDF graph to be carried in various types of document mark-up.

XHTML in spec., but works with HTML and other XML RDFa adds a fixed set of attributes to (X)HTML

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 13 / 29 RDFa Once More: Embedding RDF in (X)HTML

Directly embedding RDF/XML in (X)HTML does not work well Use a different “serialization” that blends well with (X)HTML!

From the RDFa specification (http://www.w3.org/TR/rdfa-syntax/) The aim of RDFa is to allow a single RDF graph to be carried in various types of document mark-up.

XHTML in spec., but works with HTML and other XML RDFa adds a fixed set of attributes to (X)HTML Document type:

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 13 / 29 RDFa RDFa Processing

Web browsers ignore RDFa attributes RDFa processors extract a single RDF graph from a document

XHTML+RDFa

Web browser RDFa processor

Web page RDF graph

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 14 / 29 hyper-links (href) textual content RDFa attributes can appear in (almost) any element As the XHTML is processed, there is always a “current subject” that generated triples refer to The current subject starts as the base URI of the document, but can change on the way

RDFa RDFa Concepts

RDFa adds semantic annotations to

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 15 / 29 textual content RDFa attributes can appear in (almost) any element As the XHTML is processed, there is always a “current subject” that generated triples refer to The current subject starts as the base URI of the document, but can change on the way

RDFa RDFa Concepts

RDFa adds semantic annotations to hyper-links (href)

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 15 / 29 RDFa attributes can appear in (almost) any element As the XHTML is processed, there is always a “current subject” that generated triples refer to The current subject starts as the base URI of the document, but can change on the way

RDFa RDFa Concepts

RDFa adds semantic annotations to hyper-links (href) textual content

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 15 / 29 As the XHTML is processed, there is always a “current subject” that generated triples refer to The current subject starts as the base URI of the document, but can change on the way

RDFa RDFa Concepts

RDFa adds semantic annotations to hyper-links (href) textual content RDFa attributes can appear in (almost) any element

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 15 / 29 The current subject starts as the base URI of the document, but can change on the way

RDFa RDFa Concepts

RDFa adds semantic annotations to hyper-links (href) textual content RDFa attributes can appear in (almost) any element As the XHTML is processed, there is always a “current subject” that generated triples refer to

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 15 / 29 RDFa RDFa Concepts

RDFa adds semantic annotations to hyper-links (href) textual content RDFa attributes can appear in (almost) any element As the XHTML is processed, there is always a “current subject” that generated triples refer to The current subject starts as the base URI of the document, but can change on the way

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 15 / 29 Meaning of name and rel informal Only a few values defined by the standard

RDFa Reminder: (X)HTML Meta and Link

Links and metadata in HTML header: Page 507 ...

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 16 / 29 Only a few values defined by the standard

RDFa Reminder: (X)HTML Meta and Link

Links and metadata in HTML header: Page 507 ... Meaning of name and rel informal

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 16 / 29 RDFa Reminder: (X)HTML Meta and Link

Links and metadata in HTML header: Page 507 ... Meaning of name and rel informal Only a few values defined by the standard

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 16 / 29 Extracted triples: (<> is base URI!) <> dc:creator "Martin Giese" . <> foaf:topic .

RDFa RDFa property and rel

“semantic” meta and link in RDFa: MG’s home page ...

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 17 / 29 RDFa RDFa property and rel

“semantic” meta and link in RDFa: MG’s home page ... Extracted triples: (<> is base URI!) <> dc:creator "Martin Giese" . <> foaf:topic .

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 17 / 29 Extracted triple: <> cc:license . Can use rev instead of rel to swap subject and object: Made by me. Extracted triple: foaf:made <> .

RDFa Attribute rel on A elements

Any hyper-link can be given a “meaning”: This document is licensed under a Creative Commons License .

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 18 / 29 Can use rev instead of rel to swap subject and object: Made by me. Extracted triple: foaf:made <> .

RDFa Attribute rel on A elements

Any hyper-link can be given a “meaning”: This document is licensed under a Creative Commons License . Extracted triple: <> cc:license .

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 18 / 29 Extracted triple: foaf:made <> .

RDFa Attribute rel on A elements

Any hyper-link can be given a “meaning”: This document is licensed under a Creative Commons License . Extracted triple: <> cc:license . Can use rev instead of rel to swap subject and object: Made by me.

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 18 / 29 RDFa Attribute rel on A elements

Any hyper-link can be given a “meaning”: This document is licensed under a Creative Commons License . Extracted triple: <> cc:license . Can use rev instead of rel to swap subject and object: Made by me. Extracted triple: foaf:made <> .

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 18 / 29 Extracted triples: <> dc:title "Kransen" ; dc:created "1920" . Can also use content attribute together with property: September 16th at 4pm

RDFa The property attribute

rel is for resource objects, property for literal objects: ...

Kransen

Written in 1920

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 19 / 29 Can also use content attribute together with property: September 16th at 4pm

RDFa The property attribute

rel is for resource objects, property for literal objects: ...

Kransen

Written in 1920 Extracted triples: <> dc:title "Kransen" ; dc:created "1920" .

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 19 / 29 RDFa The property attribute

rel is for resource objects, property for literal objects: ...

Kransen

Written in 1920 Extracted triples: <> dc:title "Kransen" ; dc:created "1920" . Can also use content attribute together with property: September 16th at 4pm INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 19 / 29 Extracted triples: foaf:name "Martin Giese" ; foaf:mbox ; foaf:phone .

RDFa Changing the Subject

about changes subject of contained rel and property annotations:

Martin Giese

Email: [email protected]

Phone: 31 41 59 26

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 20 / 29 RDFa Changing the Subject

about changes subject of contained rel and property annotations:

Martin Giese

Email: [email protected]

Phone: 31 41 59 26

Extracted triples: foaf:name "Martin Giese" ; foaf:mbox ; foaf:phone .

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 20 / 29 Missing URIs can lead to blank nodes:

Martin Giese

Email: [email protected]

Extracted triples: [] a foaf:Person ; foaf:name "Martin Giese" ; foaf:mbox ;

RDFa Types and Blank Nodes

typeof adds an rdf:type triple

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 21 / 29 Extracted triples: [] a foaf:Person ; foaf:name "Martin Giese" ; foaf:mbox ;

RDFa Types and Blank Nodes

typeof adds an rdf:type triple Missing URIs can lead to blank nodes:

Martin Giese

Email: [email protected]

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 21 / 29 RDFa Types and Blank Nodes

typeof adds an rdf:type triple Missing URIs can lead to blank nodes:

Martin Giese

Email: [email protected]

Extracted triples: [] a foaf:Person ; foaf:name "Martin Giese" ; foaf:mbox ;

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 21 / 29 RDFa Know Your Friends

Missing objects collected from contained elements (chaining):

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 22 / 29 RDFa Triples From Chaining Example

http:/...kjernsmo.net/

foaf:homepage foaf:name Kjetil rdf:type

foaf:knows

foaf.rdf#me foaf:Person foaf:knows

rdf:type

foaf:name foaf:homepage Leif Harald

http:/.../leifhka/

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 23 / 29 Specification hardly less complicated than RDF/XML See spec. at http://www.w3.org/TR/rdfa-syntax/

XHTML processor can ignore RDFa RDFa processor can extract RDF graph Treat links and text as subjects/objects and literals Many, many more details!

Nothing you couldn’t do with a LINK and an RDF file Can be convenient to have information in one place Used by Google as one data format for “Rich Snippets” ://developers.google.com/structured-data/ NOTE: this lecture was about RDFa 1.0. Search the web for RDFa 1.1!

RDFa RDFa Summary

Allows to “hide” an RDF graph in an XHTML document

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 24 / 29 Specification hardly less complicated than RDF/XML See spec. at http://www.w3.org/TR/rdfa-syntax/

RDFa processor can extract RDF graph Treat links and text as subjects/objects and literals Many, many more details!

Nothing you couldn’t do with a LINK and an RDF file Can be convenient to have information in one place Used by Google as one data format for “Rich Snippets” https://developers.google.com/structured-data/ NOTE: this lecture was about RDFa 1.0. Search the web for RDFa 1.1!

RDFa RDFa Summary

Allows to “hide” an RDF graph in an XHTML document XHTML processor can ignore RDFa

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 24 / 29 Specification hardly less complicated than RDF/XML See spec. at http://www.w3.org/TR/rdfa-syntax/

Treat links and text as subjects/objects and literals Many, many more details!

Nothing you couldn’t do with a LINK and an RDF file Can be convenient to have information in one place Used by Google as one data format for “Rich Snippets” https://developers.google.com/structured-data/ NOTE: this lecture was about RDFa 1.0. Search the web for RDFa 1.1!

RDFa RDFa Summary

Allows to “hide” an RDF graph in an XHTML document XHTML processor can ignore RDFa RDFa processor can extract RDF graph

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 24 / 29 Specification hardly less complicated than RDF/XML See spec. at http://www.w3.org/TR/rdfa-syntax/

Many, many more details!

Nothing you couldn’t do with a LINK and an RDF file Can be convenient to have information in one place Used by Google as one data format for “Rich Snippets” https://developers.google.com/structured-data/ NOTE: this lecture was about RDFa 1.0. Search the web for RDFa 1.1!

RDFa RDFa Summary

Allows to “hide” an RDF graph in an XHTML document XHTML processor can ignore RDFa RDFa processor can extract RDF graph Treat links and text as subjects/objects and literals

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 24 / 29 Specification hardly less complicated than RDF/XML See spec. at http://www.w3.org/TR/rdfa-syntax/ Nothing you couldn’t do with a LINK and an RDF file Can be convenient to have information in one place Used by Google as one data format for “Rich Snippets” https://developers.google.com/structured-data/ NOTE: this lecture was about RDFa 1.0. Search the web for RDFa 1.1!

RDFa RDFa Summary

Allows to “hide” an RDF graph in an XHTML document XHTML processor can ignore RDFa RDFa processor can extract RDF graph Treat links and text as subjects/objects and literals Many, many more details!

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 24 / 29 See spec. at http://www.w3.org/TR/rdfa-syntax/ Nothing you couldn’t do with a LINK and an RDF file Can be convenient to have information in one place Used by Google as one data format for “Rich Snippets” https://developers.google.com/structured-data/ NOTE: this lecture was about RDFa 1.0. Search the web for RDFa 1.1!

RDFa RDFa Summary

Allows to “hide” an RDF graph in an XHTML document XHTML processor can ignore RDFa RDFa processor can extract RDF graph Treat links and text as subjects/objects and literals Many, many more details! Specification hardly less complicated than RDF/XML

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 24 / 29 Nothing you couldn’t do with a LINK and an RDF file Can be convenient to have information in one place Used by Google as one data format for “Rich Snippets” https://developers.google.com/structured-data/ NOTE: this lecture was about RDFa 1.0. Search the web for RDFa 1.1!

RDFa RDFa Summary

Allows to “hide” an RDF graph in an XHTML document XHTML processor can ignore RDFa RDFa processor can extract RDF graph Treat links and text as subjects/objects and literals Many, many more details! Specification hardly less complicated than RDF/XML See spec. at http://www.w3.org/TR/rdfa-syntax/

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 24 / 29 Can be convenient to have information in one place Used by Google as one data format for “Rich Snippets” https://developers.google.com/structured-data/ NOTE: this lecture was about RDFa 1.0. Search the web for RDFa 1.1!

RDFa RDFa Summary

Allows to “hide” an RDF graph in an XHTML document XHTML processor can ignore RDFa RDFa processor can extract RDF graph Treat links and text as subjects/objects and literals Many, many more details! Specification hardly less complicated than RDF/XML See spec. at http://www.w3.org/TR/rdfa-syntax/ Nothing you couldn’t do with a LINK and an RDF file

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 24 / 29 Used by Google as one data format for “Rich Snippets” https://developers.google.com/structured-data/ NOTE: this lecture was about RDFa 1.0. Search the web for RDFa 1.1!

RDFa RDFa Summary

Allows to “hide” an RDF graph in an XHTML document XHTML processor can ignore RDFa RDFa processor can extract RDF graph Treat links and text as subjects/objects and literals Many, many more details! Specification hardly less complicated than RDF/XML See spec. at http://www.w3.org/TR/rdfa-syntax/ Nothing you couldn’t do with a LINK and an RDF file Can be convenient to have information in one place

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 24 / 29 NOTE: this lecture was about RDFa 1.0. Search the web for RDFa 1.1!

RDFa RDFa Summary

Allows to “hide” an RDF graph in an XHTML document XHTML processor can ignore RDFa RDFa processor can extract RDF graph Treat links and text as subjects/objects and literals Many, many more details! Specification hardly less complicated than RDF/XML See spec. at http://www.w3.org/TR/rdfa-syntax/ Nothing you couldn’t do with a LINK and an RDF file Can be convenient to have information in one place Used by Google as one data format for “Rich Snippets” https://developers.google.com/structured-data/

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 24 / 29 RDFa RDFa Summary

Allows to “hide” an RDF graph in an XHTML document XHTML processor can ignore RDFa RDFa processor can extract RDF graph Treat links and text as subjects/objects and literals Many, many more details! Specification hardly less complicated than RDF/XML See spec. at http://www.w3.org/TR/rdfa-syntax/ Nothing you couldn’t do with a LINK and an RDF file Can be convenient to have information in one place Used by Google as one data format for “Rich Snippets” https://developers.google.com/structured-data/ NOTE: this lecture was about RDFa 1.0. Search the web for RDFa 1.1!

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 24 / 29 Conclusion Outline

1 Reminder

2 Linking RDF to HTML

3 RDFa

4 Conclusion

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 25 / 29 The Jena API for RDF The SPARQL Query Language Basics of the RDFS and OWL ontology languages Basics of model semantics and reasoning Linked Open Data, RDFa Publishing Databases as RDF

Conclusion Topics Covered

RDF, principles, Turtle syntax

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 26 / 29 The SPARQL Query Language Basics of the RDFS and OWL ontology languages Basics of model semantics and reasoning Linked Open Data, RDFa Publishing Databases as RDF

Conclusion Topics Covered

RDF, principles, Turtle syntax The Jena API for RDF

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 26 / 29 Basics of the RDFS and OWL ontology languages Basics of model semantics and reasoning Linked Open Data, RDFa Publishing Databases as RDF

Conclusion Topics Covered

RDF, principles, Turtle syntax The Jena API for RDF The SPARQL Query Language

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 26 / 29 Basics of model semantics and reasoning Linked Open Data, RDFa Publishing Databases as RDF

Conclusion Topics Covered

RDF, principles, Turtle syntax The Jena API for RDF The SPARQL Query Language Basics of the RDFS and OWL ontology languages

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 26 / 29 Linked Open Data, RDFa Publishing Databases as RDF

Conclusion Topics Covered

RDF, principles, Turtle syntax The Jena API for RDF The SPARQL Query Language Basics of the RDFS and OWL ontology languages Basics of model semantics and reasoning

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 26 / 29 Publishing Databases as RDF

Conclusion Topics Covered

RDF, principles, Turtle syntax The Jena API for RDF The SPARQL Query Language Basics of the RDFS and OWL ontology languages Basics of model semantics and reasoning Linked Open Data, RDFa

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 26 / 29 Conclusion Topics Covered

RDF, principles, Turtle syntax The Jena API for RDF The SPARQL Query Language Basics of the RDFS and OWL ontology languages Basics of model semantics and reasoning Linked Open Data, RDFa Publishing Databases as RDF

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 26 / 29 (You ain’t seen nothing yet :-)

SW application structures Services Details of RDF/RDFS model semantics Some details of OWL Details of OWL 2 profiles Logical theory: Soundness, Completeness,. . .

And many more!

Conclusion Topics Not Covered

Rule Languages (SWRL, RIF, Jena rules, etc.)

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 27 / 29 (You ain’t seen nothing yet :-)

Semantic Web Services Details of RDF/RDFS model semantics Some details of OWL Details of OWL 2 profiles Logical theory: Soundness, Completeness,. . .

And many more!

Conclusion Topics Not Covered

Rule Languages (SWRL, RIF, Jena rules, etc.) SW application structures

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 27 / 29 (You ain’t seen nothing yet :-)

Details of RDF/RDFS model semantics Some details of OWL Details of OWL 2 profiles Logical theory: Soundness, Completeness,. . .

And many more!

Conclusion Topics Not Covered

Rule Languages (SWRL, RIF, Jena rules, etc.) SW application structures Semantic Web Services

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 27 / 29 (You ain’t seen nothing yet :-)

Some details of OWL Details of OWL 2 profiles Logical theory: Soundness, Completeness,. . .

And many more!

Conclusion Topics Not Covered

Rule Languages (SWRL, RIF, Jena rules, etc.) SW application structures Semantic Web Services Details of RDF/RDFS model semantics

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 27 / 29 (You ain’t seen nothing yet :-)

Details of OWL 2 profiles Logical theory: Soundness, Completeness,. . .

And many more!

Conclusion Topics Not Covered

Rule Languages (SWRL, RIF, Jena rules, etc.) SW application structures Semantic Web Services Details of RDF/RDFS model semantics Some details of OWL

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 27 / 29 (You ain’t seen nothing yet :-)

Logical theory: Soundness, Completeness,. . .

And many more!

Conclusion Topics Not Covered

Rule Languages (SWRL, RIF, Jena rules, etc.) SW application structures Semantic Web Services Details of RDF/RDFS model semantics Some details of OWL Details of OWL 2 profiles

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 27 / 29 (You ain’t seen nothing yet :-) And many more!

Conclusion Topics Not Covered

Rule Languages (SWRL, RIF, Jena rules, etc.) SW application structures Semantic Web Services Details of RDF/RDFS model semantics Some details of OWL Details of OWL 2 profiles Logical theory: Soundness, Completeness,. . .

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 27 / 29 And many more!

Conclusion Topics Not Covered

Rule Languages (SWRL, RIF, Jena rules, etc.) SW application structures Semantic Web Services Details of RDF/RDFS model semantics Some details of OWL Details of OWL 2 profiles Logical theory: Soundness, Completeness,. . . (You ain’t seen nothing yet :-)

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 27 / 29 Conclusion Topics Not Covered

Rule Languages (SWRL, RIF, Jena rules, etc.) SW application structures Semantic Web Services Details of RDF/RDFS model semantics Some details of OWL Details of OWL 2 profiles Logical theory: Soundness, Completeness,. . . (You ain’t seen nothing yet :-) And many more!

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 27 / 29 Book on Semantic Web Programming Standards texts on W3C Web pages Google

Contact us for possible MSc topics!

Book on Foundations of SW Technologies Take a course in logic or automated reasoning For more information on practical questions:

Still not enough?

Conclusion Help! I Can’t Get Enough!

For more information on theory:

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 28 / 29 Book on Semantic Web Programming Standards texts on W3C Web pages Google

Contact us for possible MSc topics!

Take a course in logic or automated reasoning For more information on practical questions:

Still not enough?

Conclusion Help! I Can’t Get Enough!

For more information on theory: Book on Foundations of SW Technologies

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 28 / 29 Book on Semantic Web Programming Standards texts on W3C Web pages Google

Contact us for possible MSc topics!

For more information on practical questions:

Still not enough?

Conclusion Help! I Can’t Get Enough!

For more information on theory: Book on Foundations of SW Technologies Take a course in logic or automated reasoning

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 28 / 29 Contact us for possible MSc topics!

Book on Semantic Web Programming Standards texts on W3C Web pages Google Still not enough?

Conclusion Help! I Can’t Get Enough!

For more information on theory: Book on Foundations of SW Technologies Take a course in logic or automated reasoning For more information on practical questions:

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 28 / 29 Contact us for possible MSc topics!

Standards texts on W3C Web pages Google Still not enough?

Conclusion Help! I Can’t Get Enough!

For more information on theory: Book on Foundations of SW Technologies Take a course in logic or automated reasoning For more information on practical questions: Book on Semantic Web Programming

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 28 / 29 Contact us for possible MSc topics!

Google Still not enough?

Conclusion Help! I Can’t Get Enough!

For more information on theory: Book on Foundations of SW Technologies Take a course in logic or automated reasoning For more information on practical questions: Book on Semantic Web Programming Standards texts on W3C Web pages

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 28 / 29 Contact us for possible MSc topics!

Still not enough?

Conclusion Help! I Can’t Get Enough!

For more information on theory: Book on Foundations of SW Technologies Take a course in logic or automated reasoning For more information on practical questions: Book on Semantic Web Programming Standards texts on W3C Web pages Google

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 28 / 29 Contact us for possible MSc topics!

Conclusion Help! I Can’t Get Enough!

For more information on theory: Book on Foundations of SW Technologies Take a course in logic or automated reasoning For more information on practical questions: Book on Semantic Web Programming Standards texts on W3C Web pages Google Still not enough?

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 28 / 29 Conclusion Help! I Can’t Get Enough!

For more information on theory: Book on Foundations of SW Technologies Take a course in logic or automated reasoning For more information on practical questions: Book on Semantic Web Programming Standards texts on W3C Web pages Google Still not enough? Contact us for possible MSc topics!

INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 28 / 29