Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to RDF Jonathan Borden The Open Healthcare Group www.openhealth.org the “Resource Description Framework”

Similar presentations


Presentation on theme: "Introduction to RDF Jonathan Borden The Open Healthcare Group www.openhealth.org the “Resource Description Framework”"— Presentation transcript:

1 Introduction to RDF Jonathan Borden The Open Healthcare Group www.openhealth.org the “Resource Description Framework”

2 RDF SubjectObject predicate

3 WWW c. 1989

4 Model zA model is a set of statements zStatement := (predicate,subject,object) zPredicate is a resource zSubject is a resource zObject is either a resource or a literal zObject = Predicate(Subject)

5 Resource zFrom RFC 2396: zResource A resource can be anything that has identity. Familiar examples include an electronic document, an image, a service (e.g., "today's weather report for Los Angeles"), and a collection of other resources. Not all resources are network "retrievable"; e.g., human beings, corporations, and bound books in a library can also be considered resources. The resource is the conceptual mapping to an entity or set of entities, not necessarily the entity which corresponds to that mapping at any particular instance in time. Thus, a resource can remain constant even when its content---the entities to which it currently corresponds---changes over time, provided that the conceptual mapping is not changed in the process.

6 Resource zA resource is identified by a URI zThe resource identified by a URI may be abstract - I.e. not network retrievable zResource is distinct from entity resolved at any particular time zhttp://www.openhealth.org/RDF/

7 URI reference z[absoluteURI | relativeURI] [“#” fragment-id]

8 Edge Labeled Directed Graphs foo bar baz bop bing isa has wants plays (isa, foo, bar) (has, bar, baz) (plays, baz, bop) (wants, baz, bing)

9 Node labeled Directed Graph root foo bar baz href x y x z element attribute aaa 1 3

10 RDF is... A standard syntax to represent (edge labeled) directed graphs in XML

11 RDF Model can be thought of as.. … a simplified XML Infoset

12 Semantic Networks zA way to represent natural language circa 1970s zA format for organizing statements in a way that can be queries by computers

13 Semantic Networks vertebrate mammal bird canaryostrich heart spine hair fly wings walk doesn’t fly yellow isa has can freddiehugo isa

14 Semantic Networks z“Can freddy fly?” z“Does hugo have wings?” z“Does freddy have a spine?” z“Of all the canaries, how many live in cages?”

15 RDF Schemas zSemantic networks on the Web zNodes are identified by URIs zrdfs:Class zrdfs:Property zrdfs:subClassOf zrdf:type

16 Simplified Healthcare Schema

17 Simplified Healthcare Schema

18 Healthcare Schema

19 Describing things with RDF Jonathan Borden An XSLT based parser which converts an arbitrary XML document into RDF Statements

20 Describing things with RDF http://www.openhealth.org/RDF/rdfExtractify.xsl An XSLT based... Jonathan Borden description author

21 RDF Statements Jonathan Borden

22 RSS: RDF Typed nodes The xml.com site http://xml.com/pub XML.com features a rich mix of information and services for the XML community.

23 Typed nodes http://www.xml.com/xml/news.rss rss:channel Class subClassOf type rss:title Property The xml.com site title domain

24 Rich/RDF Site Summary 1.0 Processing Inclusions with XSLT http://xml.com/pub/2000/08/09/xslt/xslt.html Processing document inclusions with general XML tools can be problematic. This article proposes a way of preserving inclusion information through SAX-based processing.

25 RDF Collections zrdf:Bag - an unordered collection that may have repeated members zrdf:Seq - an ordered collection zrdf:Alt - a collection of alternates

26 rdf:Bag z y The first member y y The third member z

27 The Bag foo The first member The third member http://foo.org _1 _2 _3

28 Xlink and RDF zSimple Xlink zxlink:arcrole := predicate zxlink:href := object zxlink:role := rdf:type of object

29 Resource Directory Description Language (RDDL) z<rddl:resource yid=“example” yxlink:arcrole=“…#schema-validation” yxlink:role=“http://www.w3.org/2001/XMLSch ema” yxlink:href=“…myschema.xsd”> z

30 Xlink as RDF #example myschema.xsd XMLSchema rdf:type rddl:resource #schema rdf:type

31 XML Namespaces RDF and RDDL

32 XML Namespaces zW3C Recommendation zNamespace name is a URI reference zNamespace URI might be dereferencable but what should it reference?

33 Namespace zTraditionally defined as a set of names zW3C recommendation defines a partition but no set

34 Resource Directory Description Language (RDDL) zProposed as a solution to what a namespace name URI ought reference zBoth human and machine readable zXHTML Basic + XLink resources zParsers available two weeks after initial proposal zAn XML-DEV project

35 RDDL zProposed January 2001 zAdopted by namespaces such as XML Schema, Schematron, RSS, Examplotron, XSLT Extension framework, SWAG zhttp://www.rddl.org/

36 RDDL resource z<rddl:resource yid=“myschema” yxl:role=“ http://www.w3.org/2001/XMLSchema” yxl:arcrole =“http://www.rddl.org/purposes#schema -validation” -- Purpose yxl:title =“My XML Schema” -- Nature y> y This is my XML Schema z

37 RDDL zDisplays in popular HTML browsers zDefines a namespace as a formal set of terms (id=“foo”) zReferenced resource described by its intrinsic nature and purpose within the namespace

38 XSLT resource z<rddl:resource yxl:role=“http://www.w3.org/1999/XSL/Transf orm” yxl:arcrole=“http://purl.org/rss/1.0” yxl:href=“toRSS.xsl” y>

39 Java resources z<rddl:resource yxl:role=“…application/java-archive” yxl:arcrole=“…purposes/software#xslt- extension” yxl:href=“thisNS-xslt-extension.jar” y> The xslt extensions bound to this namespace are packaged in a JAR y

40 RDDL zDefines XML namespace as a set of resources zSimple model and syntax znamespace documentation is readable by people and programs zeasy conversion to RDF zA simple “Semantic Web” application

41 Warning!! Slightly advanced topics ahead. This is your last chance to exit.

42 Extracting RDF from Colloquial XML zrdfExtractify.xsl zID and about name subject nodes zrdf:resource names object nodes zUsing XPointer to name anonymous nodes

43 ‘Colloquial XML’ Jonathan Borden <provider...

44 RDF Graph: ‘anonymous’ nodes Person12345 Jonathan Borden person.name given family value PersonName Literal Person

45 Using XPointer to name Person12345 /1/1 /1/1/1 /1/1/2 Jonathan Borden person.name given family value PersonName Literal Person

46 Using XPointer for collections z#foo/1 z#foo/2 z#foo/3

47 RDF zModel, XML Syntax and Schema zA semantic metadata framework zEverything has a URI

48 uses zgood simple way to represent complex data (healthcare) znewsfeeds (RSS) zshared calendars zcollaboration (RDFIG, ePinions) zontologies (wordnet, UMLS) z“Semantic Web” stuff


Download ppt "Introduction to RDF Jonathan Borden The Open Healthcare Group www.openhealth.org the “Resource Description Framework”"

Similar presentations


Ads by Google