RDF 101 The Semantic Web meets Resource Management Terena EuroCAMP, 2006-04-03 <roland.hedberg@adm.umu.se> 1
The Resource Description Framework The Resource Description Framework (RDF) is a language for representing information about things (metadata) that can be identified on the Web, even when they cannot be directly retrieved on the Web. A W3C standard 2
Metadata A metadata record consists of a set of attributes, or elements, necessary to describe the resource in question. 3
RDF basics Information is a collection of statements, each with a subject,verb and object - and nothing else. Everything, be it subject,verb or object, is identified with a Uniform Resource Identifier. One exception; a object can be a literal (string, integer,..) 4
subject,verb and object S: <http://www.terena.nl/friend#roland> V: <http://www.openmetadir.org/om/0.1/element#knows> O: <http://www.terena.nl/friend#diego> . Everything is identified by a URI The verb is also known as a predicate and what you use as a predicate is a property Don’t forget the ‘.’ 5
Directed graph <http://www.terena.nl/friend#roland> <http://www.openmetadir.org/om/0.1/element#knows> <http://www.terena.nl/friend#diego> 6
RDF serializations RDF101 has an author who is Roland Hedberg N-Triples <http://www.terena.nl/events/eurocamp2006#rdf101> <http://purl.org/dc/elements/ 1.1#author> “Roland Hedberg” . N3 @prefix dc: <http://purl.org/dc/elements/1.1#> . @prefix ec06: <http://www.terena.nl/events/eurocamp2006#> . ec06:rdf101 dc:author “Roland Hedberg” . RDF/XML <rdf:RDF xmlns="http://purl.org/dc/elements/1,1#" xmlns:dc="http://purl.org/dc/elements/1,1#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="http://www.terena.nl/events/eurocamp2006#rdf101"> <author>Roland Hedberg</author> </rdf:Description> </rdf:RDF> 7
Sharing concepts Properties are defined in contexts Are these the same ? title = title Are these ? http://purl.org/dc/elements/1.1/title = http://openmetadir.org/om/0.1/title 8
From here on we ’ ll use this: @prefix foaf: <http://xmlns.com/foaf/0.1/> @prefix dc: <http://purl.org/dc/elements/1.1/> @prefix om: <http://www.openmetadir.org/om/0.1/> @prefix friend: <http://www.terena.nl/friend#> 9
friend:roland foaf:topic_interest om:knows "Skiing" friend:DIEGO friend:roland om:knows friend:diego; foaf:topic_interest “Skiing”@en . 10
friend:roland foaf:topic_interest om:knows foaf:currentProject friend:DIEGO "Skiing" "Openmetadir" "HLS" "SWAMI/MD" "Spocp" friend:roland om:knows friend:diego; foaf:topic_interest “Skiing”@en ; foaf:currentproject “Spocp”,”OpenMetaDir”,”HLS”,”Swami/MD” . 11
friend:roland om:knows foaf:topic_interest foaf:currentProject "Skiing"@en FOAF:FamilyName FOAF:Firstname "Ton" om:citizenship "Openmetadir" "Verschuren" "HLS" "Holländare"@se "SWAMI/MD" "Spocp" friend:roland om:knows [ foaf:firstname “Ton”; foaf:familyname “Verschuren”; om:citizenship “Holländare”@se ]; foaf:topic_interest “Skiing”@en ; foaf:currentproject “Spocp”,”OpenMetaDir”,”HLS”,”Swami/MD” . 12
OWL The OWL Web Ontology Language is intended to provide a language that can be used to describe the classes and relations between them that are inherent in Web documents and applications. 13
The Web Ontology Language (OWL) supports Sharing information and knowledge (for interoperability) Defining the relationships between different resources Understanding of the domain Representation of conceptualization 14
!!! An ontology differs from an XML schema in that it is a knowledge representation, not a message format 15
An oncology encompasses four concepts Classes Relationship between classes Properties of classes Constrains on relationship between the classes and properties of the classes 16
OWL types OWL Lite; Supports simple classifications, allowing only cardinalities of 0 and 1 and only minimal constrains. OWL DL; Supports more complex ontologies, but with some guarantees, such as processing finishing in finite time. OWL Full; maximum freedom of RDF, with no computational guarantees. 17
So What Might a OWL ontology look like !? 18
Basic Elements The most basic concepts in a domain should correspond to classes that are the roots of various taxonomic trees. Properties let us assert general facts about the members of classes and specific facts about individuals. An individual is minimally introduced by declaring it to be a member of a class 19
Simple properties A property is a binary relation. Two types of properties are distinguished: datatype properties, relations between instances of classes and RDF literals and XML Schema datatypes. object properties, relations between instances of two classes. 20
Simple Property Restrictions Domain Range 21
Property Characteristics TransitiveProperty SymmetricProperty FunctionalProperty InverseOf InverseFunctionalProperty 22
Property restrictions In addition to designating property characteristics, it is possible to further constrain the range of a property in specific contexts in a variety of ways. 23
restrictions allValuesFrom, someValuesFrom cardinality, minCardinality, maxCardinality hasValue 24
Ontology Mapping equivalentClass, equivalentProperty sameAs differentFrom,AllDifferent intersectionOf,unionOf, oneOf disjointWith 25
Property description (dc) @prefix dcns: <http://purl.org/dc/elements/1.1/> @prefix dctermsns: <http://purl.org/dc/terms/> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix : <http://www.w3.org/2000/01/rdf-schema#> . dcns:title a rdf:Property; dcns:description "Typically, a Title will be a name by which the resource is formally known."@en-US; dcns:type <http://dublincore.org/usage/documents/principles/#element>; dctermsns:hasVersion <http://dublincore.org/usage/terms/history/#title-004>; dctermsns:issued "1999-07-02"; dctermsns:modified "2002-10-04"; :comment "A name given to the resource."@en-US; :isDefinedBy <http://purl.org/dc/elements/1.1/>; :label "Title"@en-US . 26
property definition (foaf) @prefix : <http://www.w3.org/2000/01/rdf-schema#> . @prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . <http://xmlns.com/foaf/0.1/family_name> a rdf:Property, owl:DatatypeProperty; :comment "The family_name of some person."; :domain <http://xmlns.com/foaf/0.1/Person>; :isDefinedBy <http://xmlns.com/foaf/0.1/>; :label "family_name"; :range :Literal; vs:term_status "testing" . 27
Class description (foaf) <http://xmlns.com/foaf/0.1/Person> a :Class, owl:Class; :comment "A person."; :isDefinedBy <http://xmlns.com/foaf/0.1/>; :label "Person"; :subClassOf con:Person, wgs:SpatialThing, <http://xmlns.com/foaf/0.1/Agent>, <http://xmlns.com/wordnet/1.6/Agent>, <http://xmlns.com/wordnet/1.6/Person>; owl:disjointWith <http://xmlns.com/foaf/0.1/Document>, <http://xmlns.com/foaf/0.1/Organization>, <http://xmlns.com/foaf/0.1/Project>; vs:term_status "stable" . 28
super classes <http://www.w3.org/2000/10/swap/pim/contact#Person> a :Class; :comment "A person in the normal sense of the word."; :subClassOf :SocialEntity . <http://www.w3.org/2000/10/swap/pim/contact#SocialEntity> a rdfs:Class; :comment "The sort of thing which can have a phone number." . <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> a :Class; :comment "Anything with spatial extent, i.e. size, shape, or position. e.g. people, places, bowling balls, as well as abstract areas like cubes."; :label "SpatialThing" . <http://xmlns.com/wordnet/1.6/Agent> a :Class; :comment "an active and efficient cause; capable of producing a certain effect; \"their research uncovered new disease agents\""; :label "Agent [ 1 ]"; :subClassOf <http://xmlns.com/wordnet/1.6/Causal_agent> . <http://xmlns.com/wordnet/1.6/Person> a :Class; :comment "a human being; \"there was too much for one person to do\""; :label "Person [ 1 ]"; :subClassOf <http://xmlns.com/wordnet/1.6/Organism> . <http://xmlns.com/wordnet/1.6/Organism> a :Class; :comment "a living thing that has (or can develop) the ability to act or function independently"; :label "Organism [ 1 ]"; :subClassOf <http://xmlns.com/wordnet/1.6/Living_thing> . 29
There is a more to OWL but we ’ ll take that another time 30
RDF and Identity/ Resource Management Middleware is a lot about managing objects/ resources more specifically metadata about those. Identity management just one part If you want to future-proof your investment don ’ t chose a limiting framework And for godness sake describe your knowledge representation ! 31
Recommend
More recommend