Semantic Web and RDF Ontologies Mehmet Aktas Marlon Pierce Indiana University Semantic Web Overview   “The Semantic Web is a major research initiative of the World Wide.

Download Report

Transcript Semantic Web and RDF Ontologies Mehmet Aktas Marlon Pierce Indiana University Semantic Web Overview   “The Semantic Web is a major research initiative of the World Wide.

Semantic Web and RDF Ontologies

Mehmet Aktas Marlon Pierce Indiana University

Semantic Web Overview

 “The Semantic Web is a major research initiative of the World Wide Web Consortium (W3C) to create a metadata-rich Web of resources that can describe themselves not only by how they should be displayed (HTML) or syntactically (XML), but also by the meaning of the metadata.

” From W3C Semantic Web Activity Page  “The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation.” Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web , Scientific American, May 2001

Semantic Web Vision

 

Well known Scientific American article by Tim Berners-Lee, James Hendler, and Ora Lassila

• http://www.sciam.com/print_version.cf

m?articleID=00048144-10D2-1C70 84A9809EC588EF21

Example: making a doctor’s appointment

Dr. Marlon Pierce

Motivations

 Difficulties to find, present, access, or maintain available electronic information on the web  Need for a data representation to enable software products (agents) to provide intelligent access to heterogeneous and distributed information.

The Semantic Stack and Ontology Languages B A OWL Full DAML, OIL, DAML+OIL OWL DL OWL Lite RDF Schema RDF XML, XML Schema

The Semantic Language Layer for the Web From “The Semantic Web” technical report by Pierce

A = Ontology languages based on XML syntax B = Declarative ontology languages build on top of RDF and RDF Schema

Resource Description Framework (RDF) - I

 Resource Description Framework (RDF) is a framework for describing and interchanging metadata (data describing the web resources).  RDF provides machine understandable semantics for metadata.

This leads,    better precision in resource discovery than full text search, assisting applications as schemas evolve, interoperability of metadata.

Resource Description Framework (RDF)- II

 RDF has following important concepts • • • Resource : The resources being described by RDF are anything that can be named via a URI. Property : RDF entities are built up out of properties and their associated values. A property is also a resource that has a name, for instance Author or Title. Statement : A statement consists of the combination of a Resource, a Property, and an associated value.

Example: Alice is the creator of the resource http://www.cs.indiana.edu/~Alice.

   

The Dublin Core Definition Standard

RDF is dependent on metadata conventions for definitions.

The Dublin Core is an example definition standard which defines a simple metadata elements for describing Web authoring.

It is named after 1995 Dublin (Ohio) Metadata Workshop.

• • • • • • • Following list is the partial tag element list for Dublin Core standard.

Creator: the primary author of the content Date: date of creation or other important life cycle events Title: the name of the resource Subject: the resource topic Description: an account of the content Type: the genre of the content Language: the human language of the content.

Example

Alice is the creator of the resource http://www.cs.indiana.edu/~Alice.

Property Resource Property Value creator = http://purl.org/dc/elements/1.1/creator

http://www.cs.indiana.edu/~Alice

Alice

Property “creator” refers to a specific definition. (in this example by Dublin Core Definition Standard). So, there is a structured URI for this property. This URI makes this property unique and globally known.

By providing structured URI, we also specified the property value Alice as following. “http://www.cs.indiana.edu/People/auto/b/Alice”

Example

Why bother to use RDF instead of XML?

Alice

is the

creator

of the resource

http://www.cs.indiana.edu/~Alice

.

” xmlns:cgl=” http://cgl.indiana.edu/people ”>

http://www.cs.indiana.edu/~Alice

”>

Alice

Information in the graph can be modeled in diff. XML organizations. Human readers would infer the same structure, however, general purpose applications would not.

Given RDF model enables any general purpose application to infer the same structure.

It resembles objected-oriented programming

RDF Schema ( RDFS )

    RDF Schema is an extension of Resource Description Framework.

• • • RDF Schema provides a higher level of abstraction than RDF.

specific classes of resources , specific properties, and the relationships between these properties and other resources can be described.

RDFS allows specific resources to be described as instances of more general classes.

Also, RDFS provides important semantic capabilities that are used by enhanced semantic languages like DAML, OIL and OWL.

  

Resource Description Framework (RDF)

RDF is the simplest of the semantic languages.

Basic Idea #1: Triples • RDF is based on a subject-verb-object statement structure.

• RDF subjects are called classes • Verbs are called properties.

Basic Idea #2: Everything is a resource that is named with a URI • RDF nouns, verbs, and objects are all labeled with URIs • Recall that a URI is just a name for a resource. • It may be a URL, but not necessarily.

• A URI can name anything that can be described  Web pages, creators of web pages, organizations that the creator works for,….

Dr. Marlon Pierce

Scientific Metadata

Define metadata and describe its use in physical and computer science.

Dr. Marlon Pierce

What is Metadata?

    Common definition: data about data “Traditional” Examples • Prescriptions of database structure and contents.

• File names and permissions in a file system.

• HDF5 metadata: describes data characteristics such as array sizes, data formats, etc.

Metadata may be queried to learn the characteristics of the data it describes.

Traditional metadata systems are functionally tightly coupled to the data they describe.

• Prescriptive, needed to interact directly with data.

Dr. Marlon Pierce

Metadata and the Web

   Traditional metadata concepts must be extended as systems become more distributed, information becomes broader • Tight functional integration not as important • Metadata used for information, becomes descriptive.

• Metadata may need to describe resources, not just data.

Everything is a resource • People, computers, software, conference presentations, conferences, activities, projects.

We’ll next look at several examples that use metadata, featuring • Dublin Core: digital libraries • CMCS: chemistry Dr. Marlon Pierce

 

Collaboratory for Multiscale Chemical Science (CMCS)

SciDAC project involving several DOE labs • See http://cmcs.ca.sandia.gov/index.php

.

Project scope is to build Web infrastructure (portals, services, distributed data) to enable multiscale coupling of chemical applications Dr. Marlon Pierce

CMCS Is Data Driven Grid

    Core of the CMCS project is to exchange chemical data and information between different scales in a well defined, consistent, validated manner.

Journal publication of chemical data is too slow.

Need to support distributed online chemical data repositories.

Need an application layer between the user and the data.

• Simplify access through portals and intelligent search tools.

• Control read/write access to data Dr. Marlon Pierce

CMCS Data Problems

    Users need to intelligently search repositories for data.

• Characterize it with metadata Many data values are derived from long calculation chains.

• Bad data can propagate, corrupt many dependent values.

Experimental values are also sometimes questionable.

Always the problem of incorrect data entry, errata.

Dr. Marlon Pierce

  

Solution: Annotation Metadata and Data Pedigree

CMCS provides subject area metadata tags to identify data • Species name, Chemical Abstracts Service number, formula, common name, vibrational frequency, molecular geometry, absolute energy, entropy, specific heat, heat capacity, free energy differences, etc.

Data Pedigree also must be recorded.

• Where was it published/described?

• Who measured or calculated the values?

 Intellectual property • How were the values obtained?

• What other values does it depend upon?

Also provides community annotation • Is this value suspicious? Why?

capabilities  Monte Carlo and other techniques exist to automate this.

• Has the data been officially blessed? By whom?

 Curation Dr. Marlon Pierce

   

What Does This Have to Do with Scientific Computing?

RDF resources aren’t just web pages • Can be computer codes, simulation and experimental data, hardware, research groups, algorithms, ….

Recall from the CMCS chemistry example that they needed to describe the provenance , annotation , and curation of chemistry data.

• Compound X’s properties were calculated by Dr. Y.

CMCS maps all of their metadata to the Dublin Core.

The Dublin Core is encoded quite nicely as RDF.

Dr. Marlon Pierce

Resource Description Framework

Overview of RDF basic ideas and XML encoding.

Dr. Marlon Pierce

Structure of the Document

   RDF XML probably a bit hard to read if you are not familiar with XML namespaces.

Container structure is illustrated on the right.

Skeleton is

</Description> </RDF></b></p> <p><RDF> <Description> <Creator> <Title> Dr. Marlon Pierce</p> <a id="p23"></a> <h3>What is the Advantage?</h3> <p>    So far, properties are just conventional URI names.</p> <p>• All semantic web properties are conventional assertions about relationships between resources.</p> <p>• RDFS and DAML will offer more precise property capabilities.</p> <p>But there is a powerful feature we are about to explore… • Properties provide a powerful way of linking different RDF resources  “Nuggets” of information.</p> <p>For example, a publication is a resource that can be described by RDF • Author, publication date, URL are all metadata property values.</p> <p>• But publications have references that are just other publications • DC’s “hasReference” can be used to point from one publication to another.</p> <p>Publication also have authors • An author is more than a name • Also an RDF resource with collections of properties  Name, email, telephone number, Dr. Marlon Pierce</p> <a id="p24"></a> <p>  </p> <h3>vCard: Representing People with RDF Properties</h3> <p>The Dublin Core tags are best used to represent metadata about “published content” • Documents, published data vCards are an IETF standard for representing people • Typical properties include name, email, organization membership, mailing address, title, etc.</p> <p>• See http://www.ietf.org/rfc/rfc2426.txt</p> <p>Like the DC, vCards are independent of (and predate) RDF but are map naturally into RDF.</p> <p>• Each of these maps naturally to an RDF property • See http://www.w3.org/TR/2001/NOTE-vcard-rdf 20010222/ Dr. Marlon Pierce</p> <a id="p25"></a> <h3>Example: A vCard in RDF/XML</h3> <p><rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:vcard='http://www.w3.org/2001/vcard-rdf/3.0#'> <rdf:Description rdf:about='http://cgl.indiana.edu/people/GCF' vcard:EMAIL='gcf@indiana.edu'> <vcard:FN>Geoffrey Fox</vcard:FN> <vcard:N vcard:Given='Geoffrey' vcard:Family='Fox'/> </rdf:Description> </rdf:RDF> Dr. Marlon Pierce</p> <a id="p26"></a> <p>   </p> <h3>Linking vCard and Dublin Core Resources</h3> <p>The real power of RDF is that you can link two independently specified resources through the use of properties.</p> <p>We do this using URIs as universal pointers • Identify specific resources (nouns) and specifications for properties (verbs) • The URIs may optionally be URLs that can be used to fetch the information.</p> <p>Linking these resource nuggets allows us to pose queries like • “What is the email address of the creator of this entry in the chemical database?” • “What other entries reference directly or indirectly on this data entry?” Linkages can be made at any time • Don’t have to be designed into the system Dr. Marlon Pierce</p> <a id="p27"></a> <h3>RDF Schema</h3> <p>  RDF Schema is a rules system for building RDF languages.</p> <p>• RDF and RDFS are defined in terms of RDFS • DAML+OIL is defined by RDFS.</p> <p>Take the Dublin Core RDF encoding as an example: • Can we formalize this process, defining a consistent set of rules?</p> <p>• Can we place restrictions and use inheritance to define resources?</p> <p> What really is the value of “creator”? Can I derive it from another class, like “person”?</p> <p>• Can we provide restrictions and rules for properties?</p> <p> How can I express the fact that “title” should only appear once?</p> <p>• Current DC encoding in fact is defined by RDFS.</p> <p>Dr. Marlon Pierce</p> <a id="p28"></a> <h3>Some RDFS Classes</h3> <p>RDFS: Resource RDFS: Class RDFS: Literal RDFS: Datatype RDFS: XMLLiteral RDFS:Property The RDFS root element. All other tags derive from Resource The Class class. Literals and Datatypes are example classes.</p> <p>The class for holding Strings and integers. Literals are dead ends in RDF graphs.</p> <p>A type of data, a member of the Literal class. A datatype for holding XML data.</p> <p>This is the base class for all properties (that is, verbs).</p> <p>Dr. Marlon Pierce</p> <a id="p29"></a> <h3>RDFS Class Org Chart</h3> <p>Resource Literal Class Property DataType XMLLiteral Instance Of: Subclass Of: Dr. Marlon Pierce</p> <a id="p30"></a> <h3>Some RDFS Properties</h3> <p>subClassOf subPropertyOf Comment, Label Indicates the subject is a subclass of the object in a statement.</p> <p>The subject is a subProperty of the property (masquerading as an object).</p> <p>Simple properties that take string literals as values Range isDefinedBy Restricts the values of a property to be members of an indicated class or one of its subclasses.</p> <p>Points to the human readaable definition of a class, usually a URL.</p> <p>Dr. Marlon Pierce</p> <a id="p31"></a> <h3>Sample RDFS: Defining <Property></h3> <p><rdfs:Class rdf:about="http://.../some/uri"> <rdfs:isDefinedBy rdf:resource="http://.../some/uri"/> <rdfs:label>Property</rdfs:label> <rdfs:comment>The class of RDF properties.</rdfs:comment> <rdfs:subClassOf rdf:resource="http://.../#Resource”>    </rdfs:Class> This is the definition of <property>, taken from the RDF schema.</p> <p>The “about” attribute labels names this nugget.</p> <p><property> has several properties • <label>,<comment> are self explanatory.</p> <p>• <subClassOf> means <property> is a subclass of <resource> • <isDefinedBy> points to the human-readable documentation.</p> <p>Dr. Marlon Pierce</p> <a id="p32"></a> <h3>What’s an Ontology?</h3> <p>    “Ontology” is an often used term in the field of Knowledge Representation, Information Modeling, etc.</p> <p>English definitions tend to be vague to non specialists • “A formal, explicit specification of a shared conceptionalization” Clearer definition: an ontology is a taxonomy combined with inference rules • T. Berners-Lee, J. Hendler, O. Lassila But really, if you sit down to describe a subject in terms of its classes and their relationships using RDFS or DAML, you are creating an Ontology.</p> <p>• See the HPCMP Ontology example in the report.</p> <p>Dr. Marlon Pierce</p> <a id="p33"></a> <h3>Philosophy’s Fine, but Can I Program It?</h3> <p>  </p> <h3>Yes. The HP Lab’s Jena package provide Java classes for creating programs to RDF/RDFS, DAML, and now OWL.</h3> <h3>Several tools built on top of Jena</h3> <p>• IsaViz, Protégé are two nice authoring tools.</p> <h3>Also tools for Perl, Python, C, Tcl/TK</h3> <p>• See the W3C RDF web site.</p> <p>Dr. Marlon Pierce</p> <a id="p34"></a> <h3>RDF Ontologies for Scientific Data</h3> <p>     We are developing ontologies for science data. Examples domains: • Earthquake modeling codes • Earth sciences data Technologies • RDF/RDFS • Ontology Editors (IsaViz, OntoEdit, Protégé, etc..) • Jena toolkit from HP.</p> <p>Reasoning on the semantic metadata Ontology aided querial services Software Agents for front-end applications • Case Base Reasoning (CBR) </p> <a id="p37"></a> <h3>EOS Concepts</h3> <a id="p38"></a> <p>    </p> <h3>Jena Output</h3> <p>Give me the list of resources measuring the Temperature. (Query 1) [Temperature, http://protege.stanford.edu/kb#isMeasuredBy, Resource<ASTER>] [Temperature, http://protege.stanford.edu/kb#isMeasuredBy, Resource<Terra>] [Temperature, http://protege.stanford.edu/kb#isMeasuredBy, Resource<MISR>] There are total 3 resources.</p> <p>Give me the list of parameters measured by ASTER. (Query 2) [Temperature, http://protege.stanford.edu/kb#isMeasuredBy, Resource<ASTER>] [OZONE, http://protege.stanford.edu/kb#isMeasuredBy, Resource<ASTER>] There are total 2 resources.</p> <p>Give me the list of triples where the Temperature is measured or ASTER is the Sensor. (Union) [Temperature, http://protege.stanford.edu/kb#isMeasuredBy, Resource<ASTER>] [OZONE, http://protege.stanford.edu/kb#isMeasuredBy, Resource<ASTER>] [Temperature, http://protege.stanford.edu/kb#isMeasuredBy, Resource<Terra>] [Temperature, http://protege.stanford.edu/kb#isMeasuredBy, Resource<MISR>] There are total 4 triples.</p> <p>Give me the list of triples where the Temperature is measured and ASTER is the Sensor. (Intersection) [Temperature, http://protege.stanford.edu/kb#isMeasuredBy, Resource<ASTER>] Give me the list of triples where the Query2 results are different than Query1 results. (Difference) [OZONE, http://protege.stanford.edu/kb#isMeasuredBy, Resource<ASTER>]</p> </div> </section> </div> </div> </div> </main> <footer> <div class="container mt-3"> <div class="row justify-content-between"> <div class="col"> <a href="/"> <img src="/theme/studyslide/static/logo-slideum.png" /> </a> </div> </div> <div class="row mt-3"> <ul class="col-sm-6 list-unstyled"> <li> <h6 class="mb-3">Company</h6> <li> <i class="fa fa-location-arrow"></i> Nicosia Constantinou Palaiologou 16, Palouriotissa, 1040 <li> <i class="fa fa-phone"></i> +357 64-733-402 <li> <i class="fa fa-envelope"></i> info@slideum.com </ul> <ul class="col-6 col-sm-3 list-unstyled"> <li> <h6 class="mb-3">Links</h6> <li> <a href="/about">About</a> <li> <a href="/contacts">Contact</a> <li> <a href="/faq">Help / FAQ</a> </ul> <ul class="col-6 col-sm-3 list-unstyled"> <li> <h6 class="mb-3">Legal</h6> <li> <a href="/terms">Terms of Service</a> <li> <a href="/privacy">Privacy policy</a> <li> <a href="/page.html?code=public.usefull.cookie">Cookie policy</a> <li> <a href="/page.html?code=public.usefull.disclaimer">Disclaimer</a> </ul> </div> <hr> <p>slideum.com © 2024, Inc. All rights reserved.</p> </div> </footer> <div class="modal directory" id="directory-modal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Directory</h5> <button class="close" type="button" data-dismiss="modal">×</button> </div> <div class="modal-body"></div> </div> </div> </div> <script src="/theme/common/static/jquery@3.5.1/dist/jquery.min.js"></script> <script src="/theme/common/static/jquery_extra/dist/jquery-extra.js"></script> <script src="/theme/common/static/popper.js@1.16.1/dist/umd/popper.min.js"></script> <script src="/theme/common/static/bootstrap@4.6.0/dist/js/bootstrap.min.js"></script> <script> var __path_directory = [ ] !function __draw_directory(data, root, uuid) { var ul = $('<ul>', uuid && { id: 'category' + uuid, class: !__path_directory.includes(uuid) ? 'collapse' : null }); for (var item in data) { var li = $('<li>').appendTo(ul); if (item = data[item], item.children) { li.append('<a href=#category' + item.id + ' data-toggle=collapse>') __draw_directory(item.children, li, item.id); } else { li.append('<a href=' + item.url + '>'); } var a = $('> a', li).addClass('item').text(item.name) .append($('<a class="link fa fa-external-link" href=' + item.url + '>')); if (item.id === +__path_directory.slice(-1)) { a.addClass('active'); } /* if (item.id !== __path_directory[0]) { a.addClass('collapsed'); } */ } root.append(ul); } ([{"id":1,"name":"Food and cooking","url":"/catalog/Food+and+cooking","children":null},{"id":2,"name":"Education","url":"/catalog/Education","children":null},{"id":3,"name":"Healthcare","url":"/catalog/Healthcare","children":null},{"id":4,"name":"Real estate","url":"/catalog/Real+estate","children":null},{"id":5,"name":"Religion ","url":"/catalog/Religion+","children":null},{"id":6,"name":"Science and nature","url":"/catalog/Science+and+nature","children":null},{"id":7,"name":"Internet","url":"/catalog/Internet","children":null},{"id":8,"name":"Sport","url":"/catalog/Sport","children":null},{"id":9,"name":"Technical documentation","url":"/catalog/Technical+documentation","children":null},{"id":10,"name":"Travel","url":"/catalog/Travel","children":null},{"id":11,"name":"Art and Design","url":"/catalog/Art+and+Design","children":null},{"id":12,"name":"Automotive","url":"/catalog/Automotive","children":null},{"id":13,"name":"Business","url":"/catalog/Business","children":null},{"id":14,"name":"Government","url":"/catalog/Government","children":null}], $('#directory-aside')); var __root_directory = $('#directory-aside > ul'); $('#directory-aside') .on('show.bs.collapse', function() { //console.log('show.collapse') }) .on('hide.bs.collapse', function() { //console.log('hide.collapse') }); $('#directory-modal') .on('show.bs.modal', function() { $('[class$="body"]', this).prepend(__root_directory); }) .on('hide.bs.modal', function() { $('#directory-aside').prepend(__root_directory); }); $('.directory-mobile').on('click', function(e) { e.preventDefault(); }); $('.directory .link').on('click', function(e) { e.stopPropagation(); }); </script> <script> function scrollToViewport() { $('html, body').stop().animate( { scrollTop: $('.navbar').outerHeight() }, 1000); } setTimeout(scrollToViewport, 1000); $(window).on('orientationchange', scrollToViewport); $('[data-toggle="tooltip"]').tooltip(); </script> <script async src="//s7.addthis.com/js/300/addthis_widget.js#pubid=#sp('addthis_pub_id')"></script> <!-- Yandex.Metrika counter --> <script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter28397281 = new Ya.Metrika({ id:28397281 }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); </script> <noscript><div><img src="//mc.yandex.ru/watch/28397281" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" /> <style> @media screen and (max-width: 768px) { .cc-revoke { display: none; }} </style> <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script> <script> window.addEventListener("load", function() { window.cookieconsent.initialise( { content: { href: "https://slideum.com/dmca" }, location: true, palette: { button: { background: "#fff", text: "#237afc" }, popup: { background: "#007bff" }, }, position: "bottom-right", revokable: true, theme: "classic", type: "opt-in" })}); </script> </body> </html>