Practical RDF Tools Towards a Semantic Web
Practical RDF Tools Towards
a Semantic Web
Semantic Web
- Structured information in/on the web
- HTML/XML have no semantics on their own
- Interoperability
- Extensibility
RDF Goals
- Build a web of many metadata vocabularies
- Use URIs to define the vocabularies on Web
(on Web == has a URI)
- Build graphs using these vocabularies to say things
RDF is ...
The model:
- Resource - everything with a URI
- Description - properties of these resources
- Framework - a system to build on
so generic that you need evocative examples ... later
RDF Foundations - URIs
URIs give us:
- Extensiblity - easy to add resources or properties
- Unbounded identifier space
- Easy data merging and aggregation
- Semantics can change but tools still work
RDF Target Applications
- Resource discovery
- Indexing and cataloging
- Sitemaps
- Content rating / filtering
- Trust and privacy
- IPR and rights management
RDF Origin
RDF Standards
Current documents:
- RDF Model and Syntax (RDF M&S) - W3C Recommendation Feb 1999
- RDF Schema (RDFS) - W3C Candidate Recommendation March 2000
Extensibility - RDF Schemas
- Classes
- Types
- Sub-classing
- Sub-properties
- Simple constraints
- Extensibility
RDF example
RDF example as statements
Statements (subject, predicate, object):
- My Home Page, has a title of, "Dave Beckett's Home page"
- My Home Page, created by, "Dave Beckett"
- My Home Page, published by, "ILRT..."
(also known as 'triples' or 'tuples')
The RDF XML Syntax
- Based on XML 1.0 and XML Namespaces
- Elements used for resources and properties
- Namespace URIs + element names form URIs
- Element content gives object
- (Abbreviated forms)
RDF example as statements
Give resources and predicates URIs
- http://www.ilrt.org/people/cmdjb/, [dc:title], "Dave Beckett's Home page"
- http://www.ilrt.org/people/cmdjb/, [dc:creator], "Dave Beckett"
- http://www.ilrt.org/people/cmdjb/, [dc:publisher], "ILRT..."
dc: names come from Dublin Core
RDF example in XML
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://www.ilrt.org/people/cmdjb/">
<dc:title>Dave Beckett's Home Page</dc:title>
<dc:creator>Dave Beckett</dc:creator>
<dc:publisher>ILRT, University of Bristol</dc:publisher>
</rdf:Description>
</rdf:RDF>
Semantic Web Stack

From
XML and the Web
by Tim Berners-Lee.
RDF and XML family
Pre RDF 1.0 (Feb 1999)
Post RDF 1.0:
RDF and XSLT
- Synthesise / extract RDF from XML / XHTML
- Write XHTML in a simple, structured way
- W3C News as RSS 1.0 (later)
- More in next session by Eric van der Vlist
RDF, Schemas and Validation
- DTDs - not appropriate for full RDF
- XML Schemas - data types, structure
- Schematron - XML structure validation by tree patterns
- Experiment: Schemarama - RDF graph validation by query
- Different methods of validation
RDF Architectures and Techniques
How do I use a framework?
- Common architectures:
- Object Orientated (OO)
- Formal logic systems
- Modular metadata
- Layering - on top of XML
- Interchange format
RDF APIs - Model Patterns
Two common ones:
- Sets of statements ('triples')
- Directed graphs of nodes (for resources) and arcs (for predicates)
RDF APIs Patterns
Interfaces that have found to be most pragmatic:
- 1 function API - triplesMatching(s,p,o)
- OO - classes for resource, property, statement, ...
- Two OO styles - resource or model centric
- Predicate logic (property, subject, object)
RDF Language APIs - Java
- Paradigm: OO
- Separation of interface and implementation
- Large hierarchies of classes
- SiRPAC - W3C (1998-) and Stanford (1999-)
- RDF Filter - Dave Megginson (2000)
- Jena - Brian McBride, HP Labs Bristol (2000-)
RDF Language APIs - Perl
RDF Language APIs - Python
RDF Other APIs
Nowhere near a comprehensive list:
RDF Editors
Applications emitting RDF Schemas:
Other RDF Tools
RDF Tools Summary
- APIs and libraries
- Application frameworks
- RDF/XML parsers
- Editors
Redland
Advert
RDF Web
RDFWeb - RDF web of people
RDF Applications 1
RDF Applications 2
RDF Applications 3 - ILRT
RDF and the Semantic Web
Missing Bits
- Standard RDF query systems
- Query style - XPath, XSLT, RELAX, triplesMatching, SQLish
- Relationships with Topic Maps
- Use of XML Protocols - XML-RPC, SOAP
- SOAP - transports directed labelled graphs
=> can transport RDF graphs
Some Problems
- No URIs for people; can use identifying property
- Reification and quoting - statment / stating
- Containers, partial containers
- Syntax stuff
- Syntax ambiguities, perceived complexity
- May need more formalisms in core
Conclusions
- RDF 1.0 revisions in RDF Core Working Group (Feb 2000)
- RDF provides web-wide semantics for resource description.
- RDF is starting to implement the core steps towards a future Semantic Web.
Resource Links
Discussion Places
Links and further reading
Links
Further reading
- SOAP, RDF and the Semantic Web, presentation on Developers Day in the Semantic Web track, Henrik Frystyk Nielsen, Microsoft. (Unreadable except in Internet Explorer), May 2000.
- RDF examples serialised in SOAP, Henrik Frystyk Nielsen, Microsoft, May 2000.
- Schemarama, Leigh Dodds, XML.com, 7 February 2001