بسمه تعالی Semantic Web RDF and RDF Schema Morteza Amini Sharif University of Technology Spring 90-91
Outline Metadata RDF RDFS RDF(S) Tools 2
Semantic Web: Problems (1) Too much Web information around 1,000,000,000 (110 9 ) resources Many different types of resources text, images, graphics, audio, video, multimedia, databases, Web applications, 3
Semantic Web: Problems (2) Information not indexable No common scheme for doing so Short-lived, dynamic resources Differing relationships between authors, publishers, info intermediaries, users Each community uses their own approach 4
Semantic Web: Problems (3) Information not shareable Difficult to share information Difficult to share information about information no common cataloging schemes 5
Main Issues Metadata Information about information Structured data about data Many types/forms of metadata, dependent on role. 6
Types of Metadata Web Resource discovery Content ratings (PICS) Product & Services Descriptions Document management administration Security & User authentication Database / data schemas (Intellectual) property rights management Archival information / status Process description & control 7
Second Issue Language for expressing metadata must be: universal (so all can understand) flexible (to incorporate different types) extensible (flexible to custom types) simple (to encourage adoption) modular (so that schemes can be mixed, extended) 8
RDF (1) RDF stands for Resource Description Framework It is a machine understandable metadata RDF is graphical formalism ( + XML syntax + semantics) for representing metadata for describing the semantics of information in a machineaccessible way 9
RDF (2) The XML tags can often add meaning to data, however, actually understanding the tags is meaningful only to humans. For example: <book> <title>thinking on The Web<title> </book> A human might infer that: The book has the title Thinking on the Web. A machine, however, could not make this inference based upon the XML alone. For machines to do more automatically, it is necessary to go beyond the notion of the HTML display model, or XML data model, toward a meaning. 10
RDF (3) RDF is an assertional language intended to be used to express propositions using precise formal vocabularies. It is intended to provide a basic foundation for more advanced assertional languages with a similar purpose. The overall design goals emphasize generality and precision in expressing propositions about any topic, rather than conformity to any particular processing model. An RDF document can delineate precise relationships between vocabulary items by constructing a grammatical representation. Assertions in different RDF documents can be combined to provide far more information together than they could separately. 11
RDF in SW Architecture 12
RDF Model A model is a collection of statements Statement := (subject, predicate, object) Subject is a resource. Predicate is a resource. Object is either a resource or a literal. Subject Predicate Object Statement 13
Example The book [subject] has the title [predicate] Thinking on the Web [object]. This can be represented as the triple: (The book, has the title, Thinking on the Web). The Book has the title Thinking on the Web 14
RDF Model and Natural Language Subject: In grammar, this is the noun or noun phrase that is the doer of the action. In the sentence The company sells batteries, the subject is the company. Predicate: In grammar, this is the part of a sentence that modifies the subject and includes the verb phrase. In our sentence, the predicate is the phrase sells. Object: In grammar this is a noun that is acted upon by the verb. In our sentence, the object is the noun batteries. 15
XML vs. RDF RDF is not just an XML dialect. XML: Has a tree structure data model. Only nodes are labeled. RDF: Has a graph structure data model. Both edges (properties) and nodes (subjects/objects) are labeled. 16
Linking Statements The object of one statement can be the subject of another. Such collections of statements form a directed, labeled graph. Ahmadi studentof CE departmentof hashomepage Sharif http://ce.sharif.edu 17
RDF Graph: Anonymous Nodes Person Person12345 PersonName Literal person.name first value Ali last value Ahmadi 18
How Can RDF be Implemented Usually RDF/XML syntax However other notations are possible e.g. Notation3: Ali Ahmadi teaches Semantic Web course. The course has a Web site accessible at http://ce.sharif.edu/~sw. Ahmadi is the father of Maryam. <#Ahmadi> <#teaches> <#SemanticWeb>. <#SemanticWeb> <#has-website> <http://ce.sharif.edu/~sw>. <#Ahmadi> <#father-of> <#Maryam>. 19
Converting N3 to RDF/XML Jena toolkit can do such conversion. 20
XML Syntax for RDF RDF has an XML syntax that has a specific meaning: Every Description element describes a resource Every attribute or nested element inside a Description is a property of that Resource We can refer to resources by using URIs. <rdf:description about="some.uri/person/ahmadi"> <studentof resource="some.uri/sharif/ce"/> </rdf:description> <rdf:description about="some.uri/sharif/ce"> <hashomepage>http://ce.sharif.edu</hashomepage> <departmentof resource="some.uri/~sharif"/> </rdf:description> 21
RDF Document Parts Document Parts Header XML Syntax declaration Root element tag RDF Document <?xml version= 1.0 > <rdf:rdf XML namespaces for rdf and our ontology (here ex ) Inserting the triples (subject, predicate, object) End of root element indicates end of RDF document xmlns:rdf = http://www.w3.org/1999/02/22-rdf-syntaxns #xmlns:ex= http://example.org <rdf:description rdf:about= SUBJECT > <ex:predicate>object</ex:predicate> </rdf:description> </rdf:rdf> 22
RDF Type RDF predefined property (rdf:type). Its value a resource that represent a category or class Its subject Instance of that category or class In RDF, we can use XML data types for typed literals by rdf:datatype= xsd:datatype. http://example.org/staffid/23346 rdf:type ex:person ex:mailbox mailto:ahmadi@example.org Ali Ahmadi prefix ex: URI: http://www.example.org/terms 23
Containers Containers are collections they allow grouping of resources (or literal values) It is possible to make statements about the container (as a whole) or about its members individually. It is also possible to create collections based on URI patterns. for example, all files in a particular web site 24
RDF Containers Bag: (A resource having type rdf:bag) Represents an unordered list of resources or literals. Duplicated values are prermitted. Sequence: (A resource having type rdf:seq) Represents ordered list of resources or literal. Duplicated values are permitted. Alternatives: (A resource having type rdf:alt) Represents group of resources or literals that are alternatives. 25
Sequence Example http://www.w3.org/tr/rec-rdf-syntax dc:creator rdf:type rdf:seq rdf:_1 rdf:_2 Ora Lassila Ralph Swick 26
Bag Example 27
RDF Reification Reification means finding more concrete representation. Association of a statement and a specific resource representing the statement. Used to make statements about statements. Vocabulary: type rdf:asserts properties rdf:subject rdf:predicate rdf:object 28
Reification Example 29
Reification Example RDF Graph (by IsaViz): 30
RDF Schema (RDFS) RDF gives a formalism for meta data annotation, and a way to write it down in XML, but it does not give any special meaning to vocabulary such as subclassof or type. Interpretation is an arbitrary binary relation RDF Schema allows you to define vocabulary terms and the relations between those terms. It gives extra meaning to particular RDF predicates and resources. This extra meaning, or semantics, specifies how a term should be interpreted. 31
Core Classes & Properties Core Classes Core Properties rdfs:resource rdfs:literal rdfs:xmlliteral rdfs:class rdfs:property rdfs:type rdfs:subclassof rdfs:subpropertyof rdfs:domain rdfs:range rdfs:label rdfs:comment 32
RDFS Examples <Person,type,Class> <hascolleague,type,property> <Professor,subClassOf,Person> <Carole,type,Professor> <hascolleague,range,person> <hascolleague,domain,person> 33
RDF/RDFS Liberality No distinction between classes and instances (individuals). <Species,type,Class> <Lion,type,Species> <Leo,type,Lion> Properties can themselves have properties. <hasdaughter,subpropertyof,haschild> <hasdaughter,type,familyproperty> No distinction between language constructors and ontology vocabulary, so constructors can be applied to themselves/each other. <type,range,class> <Property,type,Class> <type,subpropertyof,subclassof> 34
RDF and RDFS Layers 35
Friend of a Friend (FOAF) Application Many communities, such as companies, professional organizations, and social groupings, have proliferated on the Internet. The Friend of a Friend (FOAF) RDF vocabulary, originated by Dan Brickley and Libby Miller, gives a basic expression for community membership. The FOAF project describes people and their basic properties, such as name, email address, and so on. Friend of a Friend allows the expression of personal information and relationships. As a result, search engines can find people with similar interests through FOAF. Friend of a Friend is simply an RDF vocabulary. You can create FOAF files on your Web server and share the URLs so that software can use the information. The creation of FOAF data is decentralized since it allows many to contribute independently. 36
FOAF Example 37
Rich Site Summary (RSS) A form of publishing content such that machines can process them. One dialect is based on RDF. Very popular for news sites. Tools like RSS reader can syndicate news and bring them to the desktop. 38
Problems with RDFS RDFS is too weak to describe resources in sufficient detail No localised range and domain constraints Can t say that the range of haschild is person when applied to persons and elephant when applied to elephants. No existence/cardinality constraints Can t say that all instances of person have a mother that is also a person, or that persons have exactly 2 parents. No transitive, inverse or symmetrical properties Can t say that ispartof is a transitive property, that haspart is the inverse of ispartof or that touches is symmetrical. Difficult to provide reasoning support. No native reasoners for non-standard semantics. May be possible to reason via FO axiomatisation. 39
RDF(S) tools Read RDF data Parsers: Jena, Redland, SWI-Prolog Validators: W3C RDF validation service Editors: IsaViz, RDF Author, RDFEd, InferEd Store RDF data (XML format, tripples or relational/oo DB) Sesame, RSSDB, RDFLib Use RDF data (applications, RSS news, etc.) Manipulate RDF data (inference, query, etc.) Jena RDQL, etc. Example: SELECT?person,?knows WHERE (?x <http://xmlns.com/foap/knows>?z), (?x <http://xmlns.com/foap/name>?person), (?z <http://xmlns.com/foap/name>?knows) 40
RDF Validators RDF Validation Service http://www.w3.org/rdf/validator/ In general all the RDF parsers do some kind of validation. 41
References RDF Resource Guide: http://www.ilrt.bris.ac.uk/discovery/rdf/resources/ http://www.w3.org/rdf http://www.w3.org/rdf/validator/ Chapter 5 of the book 42
Any Question... m_amini@ce.sharif.edu 43