SlideShare ist ein Scribd-Unternehmen logo
1 von 134
Downloaden Sie, um offline zu lesen
Introduction to the Semantic Web
International Conference on Dublin Core and
Metadata Applications, Singapore, 2007-08-31
Ivan Herman, W3C
(2)
                                                                                 (2)

> Introduction
    This audience knows the value of machine readable data very
    well…
    But: on the Semantic Web the terminology does not separate
    the concept of metadata and data
      −   data could be metadata the way we know it
      −   but it could be, say, my calendar on line…
              one’s metadata may be somebody else’s data…




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(3)
                                                                                 (3)

> Example: data(base) integration
    Databases are very different in structure, in content
    Lots of applications require managing/merging several
    databases
      −   after company mergers
      −   combination of administrative data for e-Government
      −   biochemical, genetic, pharmaceutical research
      −   etc.
    Most of these data are accessible from the Web (though not
    necessarily public yet)
      −   again, some of the information may be in metadata
      −   but some is just the data itself




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(4)
                                                                                 (4)

> And the problem is real…




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(5)
                                                                                 (5)

> What is needed?
    (Some) data should be available for machines for further
    processing
    Data should be possibly combined, merged on a Web scale
    Machines may also need to reason about that data




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(6)
                                                                                 (6)

> In what follows…
    We will use a simplistic example to introduce the main
    Semantic Web concepts
    We take, as an example area, data integration




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(7)
                                                                                 (7)

> The rough structure of data integration
 1. Map the various data onto an abstract data representation
      −   make the data independent of its internal representation…
 2. Merge the resulting representations
 3. Start making queries on the whole!
      −   queries that could not have been done on the individual data sets




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(8)
                                                                                      (8)

>     A simplified bookstore data (dataset “A”)

          ID            Author                  Title             Publisher   Year
 ISBN 0-00-651409-X id_xyz           The Glass Palace           id_qpr        2000



          ID            Name                  Home page
 id_xyz             Ghosh, Amitav http://www.amitavghosh.com/



          ID         Publ. Name                 City
 id_qpr             Harper Collins   London




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(9)
                                                                                 (9)
      st
> 1 : export your data as a set of relations




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(10)
                                                                                 (10)

> Some notes on the exporting the data
    Relations form a graph
      −   the nodes refer to the “real” data or contain some literal
      −   how the graph is represented in machine is immaterial for now
    Data export does not necessarily mean physical conversion of
    the data
      −   relations can be generated on-the-fly at query time
              via SQL “bridges”
              scraping HTML pages
              extracting data from Excel sheets
              etc.
    One can export part of the data




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(11)
                                                                                 (11)

> Another bookshop data (dataset “F”)
ID              Titre                 Auteur Traducteur Original
ISBN 2020386682 Le Palais des miroirs i_abc  i_qrs      ISBN 0-00-651409-X


ID                  Nom
i_abc               Ghosh, Amitav
i_grs               Besse, Christiane




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(12)
                                                                                 (12)
      nd
> 2 : export your second set of data




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(13)
                                                                                 (13)
      rd
> 3 : start merging your data




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(14)
                                                                                 (14)
      rd
> 3 : start merging your data (cont.)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(15)
                                                                                 (15)
      rd
> 3 : merge identical resources




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(16)
                                                                                 (16)

> Start making queries…
    User of data “F” can now ask queries like:
      −   « donnes-moi le titre de l’original »
      −   (ie: “give me the title of the original”)
    This information is not in the dataset “F”…
    …but can be retrieved by merging with dataset “A”!




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(17)
                                                                                 (17)

> However, more can be achieved…
    We “feel” that a:author and f:auteur should be the same
    But an automatic merge does not know that!
    Let us add some extra information to the merged data:
      −   a:author same as f:auteur
      −   both identify a “Person”
      −   a term that a community may have already defined:
              a “Person” is uniquely identified by his/her name and, say,
               homepage
              it can be used as a “category” for certain type of resources




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(18)
                                                                                 (18)
      rd
> 3 revisited: use the extra knowledge




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(19)
                                                                                 (19)

> Start making richer queries!
    User of dataset “F” can now query:
      −   « donnes-moi la page d’accueil de l’auteur de l’original »
      −   (ie, “give me the home page of the original’s author”)
    The information is not in datasets “F” or “A” …
    …but was made available by:
      −   merging datasets “A” and datasets “F”
      −   adding three simple extra statements as an extra “glue”




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(20)
                                                                                 (20)

> Combine with different datasets
    Using, e.g., the “Person”, the dataset can be combined with
    other sources
    For example, data in Wikipedia can be extracted using
    dedicated tools




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(21)
                                                                                 (21)

> Merge with Wikipedia data




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(22)
                                                                                 (22)

> Merge with Wikipedia data




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(23)
                                                                                 (23)

> Merge with Wikipedia data




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(24)
                                                                                 (24)

> Is that surprising?
    Maybe but, in fact, no…
    What happened via automatic means is done all the time,
    every day by the users of the Web!
    The difference: a bit of extra rigor (e.g., naming the
    relationships) is necessary so that machines could do this, too




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(25)
                                                                                 (25)

> What did we do?
    We combined different datasets
      −   all may be of different origin somewhere on the web
      −   all may have different formats (mysql, excel sheet, XHTML, etc)
      −   all may have different names for relations (e.g., multilingual)
    We could combine the data because some URI-s were
    identical (the ISBN-s in this case)
    We could add some simple additional information (the “glue”),
    also using common terminologies that a community has
    produced
    As a result, new relations could be found and retrieved




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(26)
                                                                                 (26)

> It could become even more powerful
    We could add extra knowledge to the merged datasets
      −   e.g., a full library or bookshop data
      −   more geographical information
      −   etc.
    This is where various “vocabularies” (ontologies, thesauri,
    taxonomies) etc, may come in
    Even more powerful queries can be asked as a result




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(27)
                                                                                 (27)

> What did we do? (cont)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(28)
                                                                                 (28)

> So where is the Semantic Web?
    The Semantic Web provides technologies to make such
    integration possible!
    Hopefully you get a full picture at the end of the tutorial
    But let us see some real life examples first…




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(29)
                                                                                 (29)

 > Integrate knowledge for Chinese Medicine
     Integration of a large number of relational databases (on
     traditional Chinese medicine) using a Semantic Layer
       −   around 80 databases, around 200,000 records each
     A visual tool to map databases to the semantic layer using a
     specialized ontology
     Form based query interface for end users




Courtesy of Huajun Chen, Zhejiang University, (SWEO Case Study)

Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(30)
                                                                                 (30)

 > Find the right experts at NASA
      Expertise locater for nearly 20,000 NASA civil servants using
      integration techniques over 6 or 7 geographically distributed
      databases, data sources, and web services…




Courtesy of Kendall Clark, Clark & Parsia, LLC

Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(31)
                                                                                 (31)

> Help in choosing the right drug regimen

   Help in finding the best drug regimen for a specific case
     −   find the best trade-off for a patient
   Use an ontology for medical conditions, signs, symptoms
   Integrate data from various sources (patients, physicians,
   Pharma, researchers, etc)




Courtesy of Erick Von Schweber, PharmaSURVEYOR Inc., (SWEO Use Case)

Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(32)
                                                                                 (32)

> Basic RDF




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(33)
                                                                                 (33)

> RDF triples
    Let us begin to formalize what we did!
      −   we “connected” the data…
      −   but a simple connection is not enough… it should be named
          somehow
      −   hence the RDF Triples: a labeled connection between two
          resources




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(34)
                                                                                    (34)

> RDF triples (cont.)
    An RDF Triple (s,p,o) is such that:
      −   “s”, “p” are URI-s, ie, resources on the Web; “o” is a URI or a
          literal
              “s”, “p”, and “o” stand for “subject”, “predicate”, and “object”,
               respectively
              conceptually: “p” connects, or relates the “s” and “o”
              note that we use URI-s for naming: i.e., we can use
               http://www.example.org/original
      −   here is the complete triple:
(<http://…isbn…6682>, <http://…/original>, <http://…isbn…409X>)


    RDF is a general model for such triples (with machine readable
    formats like RDF/XML, Turtle, n3, RXR, …)
    … and that’s it!

Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(35)
                                                                                 (35)

> RDF triples (cont.)
    The “p” is also referred to as “property” in some cases
    Resources can use any URI; it can denote an element within
    an XML file on the Web, not only a “full” resource, e.g.:
      −   http://www.example.org/file.xml#element(home)
      −   http://www.example.org/file.html#home
    RDF triples form a directed, labeled graph (best way to think
    about them!)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(36)
                                                                                 (36)

> A simple RDF example (in RDF/XML)




<rdf:Description rdf:about=quot;http://…/isbn/2020386682quot;>
    <f:titre xml:lang=quot;frquot;>Le palais des mirroirs</f:titre>
    <f:original rdf:resource=quot;http://…/isbn/000651409Xquot;/>
</rdf:Description>


  (Note: namespaces are used to simplify the URI-s)


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(37)
                                                                                 (37)

> A simple RDF example (in Turtle)




<http://…/isbn/2020386682>
    f:titre quot;Le palais des mirroirsquot;@fr;
    f:original <http://…/isbn/000651409X>.




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(38)
                                                                                 (38)

> URI-s play a fundamental role
    URI-s made the merge possible
    Anybody can create (meta)data on any resource on the Web
      −   e.g., the same XHTML file could be annotated through other
          terms
      −   semantics is added to existing Web resources via URI-s
      −   URI-s make it possible to link (via properties) data with one
          another
    URI-s provide a syntax for naming and ground RDF into the
    Web
      −   information can be retrieved using existing tools
      −   this makes the “Semantic Web”, well… “Semantic Web”




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(39)
                                                                                 (39)

> “Internal” nodes
    Consider the following statement:
      −   “the publisher is a «thing» that has a name and an address”
    Until now, nodes were identified with a URI. But…
    …what is the URI of «thing»?




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(40)
                                                                                 (40)

> One solution: create an extra URI


<rdf:Description rdf:about=quot;http://…/isbn/000651409Xquot;>
   <a:publisher rdf:resource=quot;urn:uuid:f60ffb40-307d-…quot;/>
</rdf:Description>
<rdf:Description rdf:about=quot;urn:uuid:f60ffb40-307d-…quot;>
   <a:p_name>HarpersCollins</a:p_name>
   <a:city>HarpersCollins</a:city>
</rdf:Description>




    The resource will be “visible” on the Web as all other resources
      −   care should be taken to define unique URI-s (hence the UUID in
          the example)
    Serializations may give syntactic help to define local URI-s
    (much like the id-s in HTML)


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(41)
                                                                                 (41)

> Internal identifier (blank nodes)


<rdf:Description rdf:about=quot;http://…/isbn/000651409Xquot;>
   <a:publisher rdf:nodeID=quot;A234quot;/>
</rdf:Description>
<rdf:Description rdf:nodeID=quot;A234quot;>
   <a:p_name>HarpersCollins</a:p_name>
   <a:city>HarpersCollins</a:city>
</rdf:Description>


<http://…/isbn/2020386682> a:publisher _:A234.
_:A234 a:p_name quot;HarpersCollinsquot;.




    The exact syntax depends on the serialization format
    A234 is invisible from outside (it is not a “real” URI!); it is an
    internal identifier for a resource


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(42)
                                                                                 (42)

> Blank nodes: the system can also do it
    Let the system create a “nodeID” internally (you do not really
    care about the name…)

<rdf:Description rdf:about=quot;http://…/isbn/000651409Xquot;>
  <a:publisher>
      <rdf:Description>
          <a:p_name>HarpersCollins</a:p_name>
          …
      </rdf:Description>
  </a:publisher>
</rdf:Description>




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(43)
                                                                                 (43)

> Same in Turtle




<http://…/isbn/000651409X> a:publisher [
    a:p_name quot;HarpersCollinsquot;;
    …
].




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(44)
                                                                                 (44)

> Blank nodes: some more remarks
    Blank nodes require attention when merging
      −   blanks nodes with identical nodeID-s in different graphs are
          different
      −   implementation must be be careful with its naming schemes
          when merging
    Many applications prefer not to use blank nodes and define
    new URI-s “on-the-fly”
      −   eg, when triples are in a database
    You can think of blank nodes as representing an “existential”
    statement (“there is a resource such that…”)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(45)
                                                                                 (45)

> RDF in programming practice
    For example, using Java+Jena (HP’s Bristol Lab):
      −   a “Model” object is created
      −   the RDF file is parsed and results stored in the Model
      −   the Model offers methods to retrieve:
              triples
              (property,object) pairs for a specific subject
              (subject,property) pairs for specific object
              etc.
      −   the rest is conventional programming…
    Similar tools exist in Python, PHP, etc. (see later)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(46)
                                                                                 (46)

> Jena example

  // create a model
  Model model=new ModelMem();
  Resource subject=model.createResource(quot;URI_of_Subjectquot;)
  // 'in' refers to the input file
  model.read(new InputStreamReader(in));
  StmtIterator iter=model.listStatements(subject,null,null);
  while(iter.hasNext()) {
     st = iter.next();
     p = st.getProperty();
     o = st.getObject();
     do_something(p,o);
  }




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(47)
                                                                                 (47)

> RDF schemas




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(48)
                                                                                 (48)

> Need for RDF schemas
    This is the simple form of our “extra knowledge”:
      −   define the terms we can use
      −   what restrictions apply
      −   what extra relationships are there?
    This is where RDF Schemas come in
      −   officially: “RDF Vocabulary Description Language”; the term
          “Schema” is retained for historical reasons…




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(49)
                                                                                 (49)

> Classes, resources, …
    Think of well known traditional ontologies or taxonomies:
      −   use the term “novel”
      −   “every novel is a fiction”
      −   “«The Glass Palace» is a novel”
      −   etc.
    RDFS defines resources and classes:
      −   everything in RDF is a “resource”
      −   “classes” are also resources, but…
      −   …they are also a collection of possible resources (i.e.,
          “individuals”)
              “fiction”, “novel”, …




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(50)
                                                                                 (50)

> Classes, resources, … (cont.)
    Relationships are defined among classes/resources:
      −   “typing”: an individual belongs to a specific class (“«The Glass
          Palace» is a novel”)
              to be more precise: “«http://.../000651409X» is a novel”
      −   “subclassing”: all instances of one are also the instances of the
          other (“every novel is a fiction”)
    RDFS formalizes these notions in RDF




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(51)
                                                                                 (51)

> Classes, resources in RDF(S)




    RDFS defines rdfs:Resource, rdfs:Class as nodes;
    rdf:type, rdfs:subClassOf as properties
      −   (these are all special URI-s, we just use the namespace
          abbreviation)


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(52)
                                                                                 (52)

> Schema example in RDF/XML
    The schema part (“application’s data types”):

<rdf:Description rdf:ID=quot;Novelquot;>
  <rdf:type rdf:resource= quot;http://www.w3.org/2000/01/rdf-schema#Classquot;/>
</rdf:Description>



    The RDF data on a specific novel (“using the type”):

<rdf:Description rdf:about=quot;http://…/isbn/000651409Xquot;>
   <rdf:type rdf:resource=quot;http://…/bookSchema.rdf#Novelquot;/>
</rdf:Description>




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(53)
                                                                                 (53)

> Further remarks on types
     A resource may belong to several classes
      −   rdf:type is just a property…
      −   “«The Glass Palace» is a novel, but «The Glass Palace» is also
          an «inventory item »…”
 •   i.e., it is not like a datatype!
     The type information may be very important for applications
      −   e.g., it may be used for a categorization of possible nodes
      −   probably the most frequently used RDF predicate…
 •   (remember the “Person” in our example?)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(54)
                                                                                 (54)

> Inferred properties




                   (<http://…/isbn/000651409X> rdf:type #Fiction)


    is not in the original RDF data…
    …but can be inferred from the RDFS rules
    better (“RDFS aware”) RDF environments return that triples, too


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(55)
                                                                                   (55)

> Inference: let us be formal…
    The RDF Semantics document has a list of (44) entailment
    rules:
      −   “if such and such triples are in the graph, add this and this triple”
      −   do that recursively until the graph does not change
    The relevant rule for our example:


If:
  uuu rdfs:subClassOf xxx .
  vvv rdf:type uuu .
Then add:
  vvv rdf:type xxx .




    Whether those extra triplets are physically added to the graph
    or deduced when needed is an implementation issue

Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(56)
                                                                                 (56)

> Properties
    Property is a special class (rdf:Property)
      −   properties are also resources identified by URI-s
    Properties’ range and domain can be specified
      −   i.e., what type of resources can serve as object and subject
      −   an important purpose: to license inferences
              I can infer that, say, the object is of a specific type
    There is also a possibility for a “sub-property”
      −   all resources bound by the “sub” are also bound by the other




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(57)
                                                                                 (57)

> Properties (cont.)
    Properties are also resources (named via URI–s)…
    So properties of properties can be expressed as… RDF
    properties
      −   this twists your mind a bit, but you can get used to it
    For example, (P rdfs:range C) means:
      −   P is a property
      −   C is a class instance
      −   when using P, the “object” must be an individual in C
    This is an RDF statement with subject P, object C, and property
    rdfs:range




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(58)
                                                                                 (58)

> Property specification example




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(59)
                                                                                 (59)

> Property specification serialized
    In XML/RDF:

<rdf:Property rdf:ID=quot;titlequot;>
  <rdfs:domain rdf:resource=quot;#Fictionquot;/>
  <rdfs:range rdf:resource=quot;http://...#Literalquot;/>
</rdf:Property>


    In Turtle:

:title
  rdf:type    rdf:Property;
  rdfs:domain :Fiction;
  rdfs:range rdfs:Literal.




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(60)
                                                                                      (60)

> Literals
    Literals may have a data type
      −   floats, integers, booleans, etc, defined in XML Schemas
              one can also define complex structures and restrictions via regular
               expressions, …
      −   full XML fragments
    (Natural) language can also be specified




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(61)
                                                                                 (61)

> A bit of RDFS can take you far…
   Remember the power of merge?
   We could have used, in our example:
     −   f:auteur is a subproperty of a:author and vice versa
         (although we will see other ways to do that…)
   Of course, in some cases, more complex knowledge is
   necessary (see later…)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(62)
                                                                                 (62)

> Simple Knowledge Organization System




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(63)
                                                                                 (63)

> Simple Knowledge Organization System
    Goal: representing and sharing classifications, glossaries,
    thesauri, etc, as developed in the “Print World”. For example:
      −   Dewey Decimal Classification, Art and Architecture Thesaurus,
          ACM classification of keywords and terms…
      −   DMOZ categories (a.k.a. Open Directory Project)
    The system must be simple to allow for a quick port of
    traditional data
    This is where SKOS comes in: define classes, properties,
    where those structures can be added




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(64)
                                                                                 (64)

 > Example: entries in a glossary

Assertion
    (i) Any expression which is claimed to be true.
    (ii) The act of claiming something to be true.
Class
    A general concept, category or classification. Something
    used primarily to classify or categorize other things.
Resource
    (i) An entity; anything in the universe.
    (ii) As a class name: the class of everything; the most
         inclusive category possible.




(from the RDF Semantics Glossary)


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(65)
                                                                                 (65)

> Example: entries in a glossary in SKOS




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(66)
                                                                                 (66)

 > Example: taxonomy

General
    - Traveling
    - Politics
SemWeb
    - RDF
        - SKOS




(from MortenF’s blog categories; note that the categorization is arbitrary!)


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(67)
                                                                                 (67)

> Example: taxonomy in SKOS




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(68)
                                                                                 (68)

 > Example: thesaurus

Term
  Economic cooperation
Used For
  Economic co-operation
Broader terms
  Economic policy
Narrower terms
  Economic integration, European economic cooperation, …
Related terms
  Interdependence
Scope Note
  Includes cooperative measures in banking, trade, …


(from the UK Archival Thesaurus)


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(69)
                                                                                 (69)

> Example: thesaurus in SKOS




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(70)
                                                                                 (70)

> SKOS Core overview
    Classes and Predicates:
      −   Basic description (Concept, ConceptScheme, …)
      −   Labeling (prefLabel, altLabel, …)
      −   Documentation (definition, scopeNote, changeNote, …)
      −   Semantic relations (broader, narrower, related)
      −   Subject indexing (subject, isSubjectOf, …)
      −   Grouping (Collection, OrderedCollection, …)
      −   Subject Indicator (subjectIndicator)
    Some simple inference rules (a bit like the RDFS inference
    rules) to define some extra semantics
    A bit of warning: SKOS is still evolving!




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(71)
                                                                                 (71)

> RDF data access, a.k.a. query (SPARQL)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(72)
                                                                                 (72)

> Querying RDF graphs
    Remember the Jena idiom:
StmtIterator iter=model.listStatements(subject,null,null);
while(iter.hasNext()) {
    st = iter.next();
    p = st.getProperty(); o = st.getObject();
    do_something(p,o);

    In practice, more complex queries into the RDF data are
    necessary
      −   something like: “give me the (a,b) pair of resources, for which
          there is an x such that (x parent a) and (b brother x) holds” (ie,
          return the uncles)
      −   these rules may become quite complex
    Queries become very important for distributed RDF data!
    This is the goal of SPARQL (Query Language for RDF)


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(73)
                                                                                 (73)

> Analyze the Jena example
StmtIterator iter=model.listStatements(subject,null,null);
while(iter.hasNext()) {
    st = iter.next();
    p = st.getProperty(); o = st.getObject();
    do_something(p,o);


    The (subject,?p,?o) is a pattern for what we are looking
    for (with ?p and ?o as “unknowns”)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(74)
                                                                                 (74)

> General: graph patterns
    The fundamental idea: generalize the approach to graph
    patterns:
      −   the pattern contains unbound symbols
      −   by binding the symbols (if possible), subgraphs of the RDF graph
          are selected
      −   if there is such a selection, the query returns the bound resources
    SPARQL
      −   is based on similar systems that already existed in some
          environments
      −   is a programming language-independent query language




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(75)
                                                                                 (75)

> Our Jena example in SPARQL
SELECT ?p ?o
WHERE {subject ?p ?o}

    The triples in WHERE define the graph pattern, with ?p and ?o
    “unbound” symbols
    The query returns a list of matching p,o pairs




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(76)
                                                                                 (76)

> Simple SPARQL example
SELECT ?isbn ?price ?currency # note: not ?x!
WHERE { ?isbn a:price ?x. ?x rdf:value ?price. ?x p:currency ?currency.}




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(77)
                                                                                 (77)

> Simple SPARQL example
SELECT ?isbn ?price ?currency # note: not ?x!
WHERE { ?isbn a:price ?x. ?x rdf:value ?price. ?x p:currency ?currency.}

    Returns:
    [[<..49X>,33,£], [<..49X>,50,€], [<..6682>,60,€],
    [<..6682>,78,$]]




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(78)
                                                                                 (78)

> Pattern constraints
SELECT ?isbn ?price ?currency # note: not ?x!
WHERE { ?isbn a:price ?x. ?x rdf:value ?price. ?x p:currency ?currency.
        FILTER(?currency == € }

    Returns: [[<..409X>,50,€], [<..6682>,60,€]]




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(79)
                                                                                 (79)

> Other SPARQL features
    Limit the number of returned results; remove duplicates, sort
    them, …
    Optional subpatterns (match if possible, return empty bindings
    otherwise)
    Specify several data sources (via URI-s) within the query
    (essentially, a merge!)
    Construct a graph combining a separate pattern and the query
    results, or simply ask whether a pattern matches
    Use datatypes and/or language tags when matching a pattern




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(80)
                                                                                 (80)

> SPARQL usage in practice
    Locally, i.e., bound to a programming environments like Jena
      −   less and less typical…
    Remotely, e.g., over the network
      −   separate documents define the protocol and the result format
              SPARQL Protocol for RDF with HTTP and SOAP bindings
              SPARQL results in XML or JSON formats
      −   big datasets often offer “SPARQL endpoints” for this protocol
              In some cases one can query the local data only




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(81)
                                                                                 (81)

> Get to RDF(S) data




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(82)
                                                                                 (82)

> RDF can be extracted/generated
    Use intelligent “scrapers” or “wrappers” to extract a structure
    (hence RDF) from a Web page…
      −   using conventions in, e.g., class names or meta elements
    … and then generate RDF automatically (e.g., via an XSLT
    script)
    This is similar to what “microformats” do (without referring to
    RDF, though)
      −   they may not extract RDF but use the data directly instead in
          Web 2.0 applications, but the application is not all that different
      −   other applications may extract it to yield RDF (e.g., RSS1.0)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(83)
                                                                                 (83)

> Formalizing the scraper approach: GRDDL
    GRDDL formalizes the scraper approach. For example:
<html xmlns=quot;http://www.w3.org/1999/quot;>
  <head profile=quot;http://www.w3.org/2003/g/data-viewquot;>
    <title>Some Document</title>
    <link rel=quot;transformationquot; href=quot;http:…/dc-extract.xslquot;/>
    <meta name=quot;DC.Subjectquot; content=quot;Some subjectquot;/>
    ...
  </head>
  ...
  <span class=quot;datequot;>2006-01-02</span>
  ...
</html>


    yields, by running the file through dc-extract.xsl:
<rdf:Description rdf:about=quot;…quot;>
  <dc:subject>Some subject</dc:subject>
  <dc:date>2006-01-02</dc:date>
</rdf:Description>



Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(84)
                                                                                 (84)

> GRDDL (cont)
    The user has to provide dc-extract.xsl and use its
    conventions (making use of the meta-s, class id-s, etc…)
    …but, by using the profile attribute, a client is instructed to
    find and run the transformation processor automatically
    There is a mechanism for XML in general
      −   a transformation can also be defined on an XML schema level
    A “bridge” to “microformats”
    Recommendation planned in September 2007




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(85)
                                                                                 (85)

> Another upcoming solution: RDFa
     For example:
<div about=quot;http://uri.to.newsitemquot;>
  <span property=quot;dc:datequot;>March 23, 2004</span>
  <span property=quot;dc:titlequot;>Rollers hit casino for £1.3m</span>
  By <span property=quot;dc:creator foaf:namequot;>Steve Bird</span>. See
  <a href=quot;http://www.a.b.c/d.aviquot; rel=quot;dcmtype:MovingImagequot;>
  also video footage</a>…
</div>


 •   yields, by running the file through an RDFa processor:

<http://uri.to.newsitem>
  dc:date             quot;March 23, 2004quot;;
  dc:title            quot;Rollers hit casino for £1.3m;
  dc:creator          quot;Steve Birdquot;;
  foaf:name           quot;Steve Birdquot;;
  dcmtype:MovingImage <http://www.a.b.c/d.avi>.




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(86)
                                                                                 (86)

> RDFa (cont.)
    RDFa extends (X)HTML a bit by:
      −   defining general attributes to add metadata to any elements (a bit
          like the class in microformats, but via dedicated properties)
      −   provides an almost complete “serialization” of RDF in XHTML
    It is a bit like the microformats approach but with more rigor
    and fully generic
      −   makes it easy to mix different vocabularies, which is not that easy
          with microformats




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(87)
                                                                                 (87)

> Bridge to relational databases
    Most of the data are stored in relational databases
      −   “RDFying” them may be an impossible task
    “Bridges” are being defined:
      −   a layer between RDF and the database
      −   RDB tables are “mapped” to RDF graphs, possibly on the fly
      •   in some cases the mapping is generic (columns represent
          properties, cells are, e.g., literals or references to other tables via
          blank nodes)…
      •   … in other cases separate mapping files define the details
    SPARQL is becoming the tool of choice to query that data
      −   ie, “SPARQL endpoints” are defined to query it




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(88)
                                                                                 (88)

 > Eg: Linking Open Data Community Project
      “Expose” open datasets in RDF
      Set RDF links among the data items for different datasets
      Set up SPARQL endpoints to query the data
      Over 2 billion triples served so far (August 2007)




Courtesy of Chris Bizer and Richard Cyganiak, Free University of Berlin

Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(89)
                                                                                 (89)

> SPARQL as a unifying point




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(90)
                                                                                 (90)

> Ontologies (OWL)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(91)
                                                                                 (91)

> Ontologies
    RDFS is useful, but does not solve all possible requirements
    Complex applications may want more possibilities:
      −   similarity and/or differences of terms (properties or classes)
      −   construct classes, not just name them
      −   can a program reason about some terms? E.g.:
              “if «Person» resources «A» and «B» have the same
               «foaf:email» property, then «A» and «B» are identical”
      −   etc.
    This lead to the development of OWL (Web Ontology
    Language)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(92)
                                                                                 (92)

> Classes in OWL
    In RDFS, you can subclass existing classes… that’s all
    In OWL, you can construct classes from existing ones:
      −   enumerate its content
      −   through intersection, union, complement
      −   through property restrictions




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(93)
                                                                                 (93)

> OWL classes can be “enumerated”
    The OWL solution, where possible content is explicitly listed:




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(94)
                                                                                 (94)

> Same serialized
<owl:Class rdf:ID=quot;Currencyquot;>
  <owl:oneOf rdf:parseType=quot;Collectionquot;>
    <owl:Thing rdf:ID=quot;£quot;/>
    <owl:Thing rdf:ID=quot;€quot;/>
    <owl:Thing rdf:ID=quot;$quot;/>
    …
  </owl:oneOf>
</owl:Class>

:£ rdf:type owl:Thing.
:€ rdf:type owl:Thing.
:$ rdf:type owl:Thing.
:Currency
    rdf:type owl:Class;
    owl:oneOf (:€ :£ :$).



   The class consists of exactly of those individuals



Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(95)
                                                                                 (95)

> Union of classes
    Essentially, like a set-theoretical union:




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(96)
                                                                                 (96)

> Same serialized



:Novel           rdf:type owl:Class.
:Short_Story     rdf:type owl:Class.
:Poetry          rdf:type owl:Class.
:Literature rdf:type owlClass;
   owl:unionOf (:Novel :Short_Story :Poetry).




   Other possibilities: complementOf, intersectionOf




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(97)
                                                                                 (97)

> Property restrictions
    (Sub)classes created by restricting the property values on that
    class
    For example, “a listed price is a price which is either in €, £, or
    $” means:
      −   the value of “p:currency” when applied to the price resource
          must take one of those values…
      −   …thereby define the class of “listed price”




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(98)
                                                                                 (98)

> Property restrictions in OWL
    Restriction may be by:
      −   value constraints (ie, further restrictions on the range)
              all values must be from a class (like the price example)
              some value must be from a class
      −   cardinality constraints (ie, how many times the property is used
          on an instance?)
              minimum cardinality
              maximum cardinality
              exact cardinality




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(99)
                                                                                 (99)

> Somewhat more formally
<owl:Class rdf:ID=quot;Listed_Pricequot;>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource=quot;http://…#currencyquot;/>
        <owl:allValuesFrom rdf:resource=quot;#Currencyquot;>
      </owl:Restriction>
    </rdfs:subClassOf>
</owl:Class>

:Listed_Price rdf:type owl:Class;
    rdfs:subClassOf [
      rdf:type          owl:Restriction;
      owl:onProperty    <http://…#currency>;
      owl:allValuesFrom :Currency.
   ].



   “allValuesFrom” could be replaced by “someValuesFrom”,
   “cardinality”, “minCardinality”, or “maxCardinality”


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(100)
                                                                                 (100)

> A word of warning…
    Cardinality restrictions are not used as syntactic restrictions to
    “reject” RDF data
      −   eg, because not enough properties are set
    It means: “the remaining relations are out there somewhere”
    even if not all are known…




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(101)
                                                                                 (101)

> Property characterization
    In OWL, one can characterize the behavior of properties
    (symmetric, transitive, functional, inverse functional…)
    OWL also separates data properties
      −   “datatype property” means that its range are typed literals




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(102)
                                                                                 (102)

> Characterization example
    “foaf:email” is inverse functional (i.e., two different subjects
    cannot have identical objects)




    Could be “FunctionalProperty”, “TransitiveProperty”,
    “SymmetricProperty”


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(103)
                                                                                 (103)

> OWL: additional requirements
    Ontologies may be extremely large:
      −   their management requires special care
      −   they may consist of several modules
      −   come from different places and must be integrated
    Ontologies are on the Web. That means
      −   applications may use several, different ontologies, or…
      −   … same ontologies but in different languages
      −   equivalence of, and relations among terms become an issue




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(104)
                                                                                 (104)

> Term equivalence
    For classes:
      −   owl:equivalentClass: two classes have the same individuals
      −   owl:disjointWith: no individuals in common
    For properties:
      −   owl:equivalentProperty
              remember the a:author vs. f:auteur?
      −   owl:inverseOf: inverse relationship
    For individuals:
      −   owl:sameAs: two URIs refer to the same individual (e.g.,
          concept)
      −   owl:differentFrom: negation of owl:sameAs




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(105)
                                                                                 (105)

> Example: connecting to French




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(106)
                                                                                 (106)

> Versioning, annotation
    Special class owl:Ontology with special properties:
      −   owl:imports, owl:versionInfo, owl:priorVersion
      −   owl:backwardCompatibleWith, owl:incompatibleWith
      −   rdfs:label, rdfs:comment can also be used
    One instance of such class is expected in an ontology file
    Deprecation control:
      −   owl:DeprecatedClass, owl:DeprecatedProperty types




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(107)
                                                                                 (107)

> However: ontologies are hard!
    A full ontology-based application is a very complex system
    Hard to implement, may be heavy to run…
    … and not all applications may need it!
    Three layers of OWL are defined: Lite, DL, and Full
      −   decreasing level of complexity and expressiveness
              “Full” is the whole thing
              “DL (Description Logic)” restricts Full in some respects
              “Lite” restricts DL even more




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(108)
                                                                                 (108)

> OWL Full
    No constraints on the various constructs
    A real superset of RDFS
    But: an OWL Full ontology may be undecidable!




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(109)
                                                                                 (109)

> OWL Description Logic (DL)

Maximal subset of OWL Full against which current research
can assure that a decidable reasoning procedure is realizable
(well, in current 2004…)

    Classes and individuals are strictly separated: a class cannot
    be an individual of another class
    No characterization of datatype properties possible
    …




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(110)
                                                                                 (110)

> OWL Lite

Provide a minimal useful subset, easily implemented


    All of DL’s restrictions, plus some more:
      −   class construction can be done only through intersection or
          property constraints
      −   cardinality restriction with 0 and 1 only
      −   …




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(111)
                                                                                 (111)

> Note on OWL layers
    OWL Layers were defined to reflect compromises:
      −   expressibility vs. implementability
    Some application just need to express and interchange terms
    (with possible scruffiness): OWL Full is fine
      −   they may build application-specific reasoning instead of using a
          general one
    Some applications need rigor; then OWL DL/Lite might be the
    good choice
    Future OWL versions may define further subsets that are
    simpler, easier to implement and still have enough functionality
      −   referred to as “tractable fragments”




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(112)
                                                                                 (112)

> Ontology development
    The hard work is to create the ontologies
      −   requires a good knowledge of the area to be described
      −   some communities have good expertise already
      −   OWL is just a tool to formalize ontologies
    Large scale ontologies are often developed in a community
    process
    Ontologies should be shared and reused
      −   can be via the simple namespace mechanisms…
      −   …or via explicit inclusions
    Applications can also be developed with very small ontologies,
    though




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(113)
                                                                                 (113)

> Ontologies examples
    International Country List
      −   example for an OWL Lite ontology
    Large ontologies are being developed (converted from other
    formats or defined in OWL)
      −   eClassOwl: eBusiness ontology for products and services,
          75,000 classes and 5,500 properties
      −   National Cancer Institute’s ontology: about 58,000 classes
      −   Open Biomedical Ontologies Foundry: a collection of ontologies,
          including the Gene Ontology to describe gene and gene product
          attributes in any organism or protein sequence and annotation
          terminology and data (UniProt)
      −   BioPAX: for biological pathway data




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(114)
                                                                                 (114)

> What have we achieved? What is available?




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(115)
                                                                                 (115)

> Remember the integration example?




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(116)
                                                                                 (116)

> Same with what we learned




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(117)
                                                                                 (117)

> Lots of tools
    Lots of tools are available. Are listed on W3C’s wiki:
      −   RDF programming environment for 14+ languages, including C,
          C++, Python, Java, Javascript, Ruby, PHP,… (no Cobol or Ada
          yet…)
      −   13+ Triple Stores, ie, database systems to store datasets
      −   SPARQL “endpoints”
      −   converters to and from RDF
      −   validators for RDF, OWL, …
      −   etc
    Some of the tools are Open Source, some are not; some are
    very mature, some are not: it is the usual picture of software
    tools, nothing special any more!
    Anybody can start developing RDF-based applications today


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(118)
                                                                                 (118)

> “Core” vocabularies
    There are also a number “core vocabularies” (not necessarily
    OWL based)
      −   FOAF: about people and their organizations
      −   DOAP: on the descriptions of software projects
      −   Music Ontology: on the description of CDs, music tracks, …
      −   SIOC: Semantically-Interlinked Online Communities
      −   vCard in RDF
      −   DCMI’s vocabularies: guess this one…
      −   …
    Hopefully LOM, DC/RDA, etc, will enrich this list soon!
    One should never forget: ontologies/vocabularies must be
    shared and reused!



Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(119)
                                                                                 (119)

> Available specifications: Primers, Guides
    The “RDF Primer” and the “OWL Guide” give a formal
    introduction to RDF(S) and OWL
    SKOS has its separate “SKOS Core Guide”
    GRDDL Primer has just been published, RDFa Primer in
    preparation
    The W3C Semantic Web Activity Homepage has links to all the
    specifications




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(120)
                                                                                 (120)

> Some books
    J. Davies, D. Fensel, F. van Harmelen: Towards the Semantic
    Web (2002)
    S. Powers: Practical RDF (2003)
    F. Baader, D. Calvanese, D. McGuinness, D. Nardi, P. Patel-
    Schneider: The Description Logic Handbook (2003)
    G. Antoniu, F. van Harmelen: Semantic Web Primer (2004)
    A. Gómez-Pérez, M. Fernández-López, O. Corcho: Ontological
    Engineering (2004)
    …


 See the separate Wiki page collecting book references


Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(121)
                                                                                 (121)

> Further information
    Dave Beckett’s Resources at Bristol University
      −   huge list of documents, publications, tools, …
    Planet RDF aggregates a number of SW blogs




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(122)
                                                                                 (122)

> SWBP Working Group documents
    Documents for ontology engineering
      −   “Best Practice Recipes for Publishing RDF Vocabularies”
      −   “Defining N-ary relations”
      −   “Representing Classes as Property Values”;
      −   “XML Schema Datatypes in RDF and OWL”
      −   etc
    See the Group’s homepage for further links
    Work is continuing in the SW Deployment Group with new
    documents




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(123)
                                                                                 (123)

> Deployment, more application examples




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(124)
                                                                                 (124)

> The “corporate” landscape is moving
    Major companies offer (or will offer) Semantic Web tools or
    systems using Semantic Web: Adobe, Oracle, IBM, HP,
    Software AG, GE, Northrop Gruman, Altova, …
    Some of the names of active participants in W3C SW related
    groups: ILOG, HP, Agfa, SRI International, Fair Isaac Corp.,
    Oracle, Boeing, IBM, Chevron, Siemens, Nokia, Merck, Pfizer,
    AstraZeneca, Sun, Eli Lilly, …




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(125)
                                                                                 (125)

> May start with small communities
    The needs of a deployment application area:
      −   have serious problem or opportunity
      −   have the intellectual interest to pick up new things
      −   have motivation to fix the problem
      −   its data connects to other application areas
      −   have an influence as a showcase for others
    The high energy physics community played this role for the
    Web in the 90’s




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(126)
                                                                                 (126)

> Some deployment communities
    The technology is picked up by specialized communities
      −   just like the high energy physics community did for the original
          Web…
    Some examples: defense, eGovernment, energy sector,
    financial services, health care, oil and gas industry, life
    sciences … digital libraries
    Health care and life science sector is now very active
      −   also at W3C, in the form of an Interest Group




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(127)
                                                                                 (127)

> Data integration
    Very important for large application areas (life sciences, energy
    sector, eGovernment, financial institutions), as well as
    everyday applications (eg, reconciliation of calendar data)
    Developments are under way at various companies, institutions
      −   not always easy to find out the details…
    Data integration comes to the fore as one of the SW
    application areas
    We have already seen some examples; some more are:
      −   Pfizer, Eli Lilly, MITRE Corp., Elsevier, …
      −   EU R&D Projects like Sculpteur and Artiste
      −   UN FAO’s MeteoBroker, …
      −   Semantic Digital Library projects (JeromeDL, Simile, Fedora,…)



Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(128)
                                                                                    (128)

> Web sites, portals, local site search
    Portal’s internal organization makes use of semantic data,
    ontologies
      −   integration with external and internal data
           •   there is a clear overlap here with data integration applications!
      −   better queries, often based on controlled vocabularies or
          ontologies…
    These are very close to the metadata based applications… but
    the underlying vocabularies (ontologies) may be much more
    complex




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(129)
                                                                                 (129)

> Semantic portal for art collections




Courtesy of Jacco van Ossenbruggen, CWI, and Guus Schreiber, VU Amsterdam

Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(130)
                                                                                                                     (130)

 > Portal to Principality of Asturias’ documents

     Search through
     governmental
     documents
     A “bridge” is created
     between the users and
     the juridical jargon
     using SW vocabularies
     and tools




Courtesy of Diego Berrueta and Luis Polo, CTIC, U. of Oviedo, and the Principality of Asturias, (SWEO Case Study)

Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(131)
                                                                                 (131)

> Improved Search via Ontology: GoPubMed
    Improved search on top of pubmed.org
      −   search results are ranked using the specialized ontologies
      −   extra search terms are generated and terms are highlighted
    Importance of domain specific ontologies for search
    improvement




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(132)
                                                                                 (132)

> Other examples…

    Vodafone’s Live Mobile Portal
    Sun’s White Paper and System
    Handbook collections
    Nokia’s S60 support portal
    Yahoo!’s food and finance
    portals
    Oracle’s virtual pressroom
    Opera’s community site
    Dow Jones’ Synaptica




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(133)
                                                                                 (133)

> Other application areas come to the fore
    Content management
    Business intelligence
    Collaborative user interfaces
    Sensor-based services
    Linking virtual communities
    Grid infrastructure
    Multimedia data management
    Etc




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
(134)
                                                                                 (134)

> Thank you for your attention!

     My email: ivan@w3.org
     These slides are publicly available on:
 http://www.w3.org/2007/Talks/0831-Singapore-IH/


     You can also go to my general presentations’ site:

 http://www.w3.org/People/Ivan/CorePresentations/


 •   where other slide sets are available (extended version of the
     tutorial, semantics of RDF and OWL, further application
     examples, etc)




Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore

Weitere ähnliche Inhalte

Was ist angesagt?

Semantic Web: an Introduction
Semantic Web: an IntroductionSemantic Web: an Introduction
Semantic Web: an IntroductionLuigi De Russis
 
Build Narratives, Connect Artifacts: Linked Open Data for Cultural Heritage
Build Narratives, Connect Artifacts: Linked Open Data for Cultural HeritageBuild Narratives, Connect Artifacts: Linked Open Data for Cultural Heritage
Build Narratives, Connect Artifacts: Linked Open Data for Cultural HeritageOntotext
 
Linked data and semantic wikis
Linked data and semantic wikisLinked data and semantic wikis
Linked data and semantic wikisSören Auer
 
Website Performance at Client Level
Website Performance at Client LevelWebsite Performance at Client Level
Website Performance at Client LevelConstantin Stan
 
Open Educational Data - Datasets and APIs (Athens Green Hackathon 2012)
Open Educational Data - Datasets and APIs (Athens Green Hackathon 2012)Open Educational Data - Datasets and APIs (Athens Green Hackathon 2012)
Open Educational Data - Datasets and APIs (Athens Green Hackathon 2012)Stefan Dietze
 
Taking the Tech out of SemTech
Taking the Tech out of SemTechTaking the Tech out of SemTech
Taking the Tech out of SemTechLeeFeigenbaum
 
Information Extraction and Linked Data Cloud
Information Extraction and Linked Data CloudInformation Extraction and Linked Data Cloud
Information Extraction and Linked Data CloudDhaval Thakker
 
What can linked data do for digital libraries
What can linked data do for digital librariesWhat can linked data do for digital libraries
What can linked data do for digital librariesSören Auer
 
Cooking up the Semantic Web
Cooking up the Semantic WebCooking up the Semantic Web
Cooking up the Semantic WebOntotext
 
Linked Open Data Principles, Technologies and Examples
Linked Open Data Principles, Technologies and ExamplesLinked Open Data Principles, Technologies and Examples
Linked Open Data Principles, Technologies and ExamplesOpen Data Support
 
OMG Callimachus Demo 20120322 small
OMG Callimachus Demo 20120322 smallOMG Callimachus Demo 20120322 small
OMG Callimachus Demo 20120322 small3 Round Stones
 
A structured catalog of open educational datasets
A structured catalog of open educational datasetsA structured catalog of open educational datasets
A structured catalog of open educational datasetsStefan Dietze
 
Open for Business - Open Archives, OpenURL, RSS and the Dublin Core
Open for Business - Open Archives, OpenURL, RSS and the Dublin CoreOpen for Business - Open Archives, OpenURL, RSS and the Dublin Core
Open for Business - Open Archives, OpenURL, RSS and the Dublin CoreAndy Powell
 
Demo: Profiling & Exploration of Linked Open Data
Demo: Profiling & Exploration of Linked Open DataDemo: Profiling & Exploration of Linked Open Data
Demo: Profiling & Exploration of Linked Open DataStefan Dietze
 
Overview of Open Data, Linked Data and Web Science
Overview of Open Data, Linked Data and Web ScienceOverview of Open Data, Linked Data and Web Science
Overview of Open Data, Linked Data and Web ScienceHaklae Kim
 
Linked data for Enterprise Data Integration
Linked data for Enterprise Data IntegrationLinked data for Enterprise Data Integration
Linked data for Enterprise Data IntegrationSören Auer
 

Was ist angesagt? (20)

Semantics and Web 3.0
Semantics and Web 3.0Semantics and Web 3.0
Semantics and Web 3.0
 
Linked data life cycles
Linked data life cyclesLinked data life cycles
Linked data life cycles
 
Semantic web Santhosh N Basavarajappa
Semantic web   Santhosh N BasavarajappaSemantic web   Santhosh N Basavarajappa
Semantic web Santhosh N Basavarajappa
 
Lod2 review meeting
Lod2 review meetingLod2 review meeting
Lod2 review meeting
 
Semantic Web: an Introduction
Semantic Web: an IntroductionSemantic Web: an Introduction
Semantic Web: an Introduction
 
Build Narratives, Connect Artifacts: Linked Open Data for Cultural Heritage
Build Narratives, Connect Artifacts: Linked Open Data for Cultural HeritageBuild Narratives, Connect Artifacts: Linked Open Data for Cultural Heritage
Build Narratives, Connect Artifacts: Linked Open Data for Cultural Heritage
 
Linked data and semantic wikis
Linked data and semantic wikisLinked data and semantic wikis
Linked data and semantic wikis
 
Website Performance at Client Level
Website Performance at Client LevelWebsite Performance at Client Level
Website Performance at Client Level
 
Open Educational Data - Datasets and APIs (Athens Green Hackathon 2012)
Open Educational Data - Datasets and APIs (Athens Green Hackathon 2012)Open Educational Data - Datasets and APIs (Athens Green Hackathon 2012)
Open Educational Data - Datasets and APIs (Athens Green Hackathon 2012)
 
Taking the Tech out of SemTech
Taking the Tech out of SemTechTaking the Tech out of SemTech
Taking the Tech out of SemTech
 
Information Extraction and Linked Data Cloud
Information Extraction and Linked Data CloudInformation Extraction and Linked Data Cloud
Information Extraction and Linked Data Cloud
 
What can linked data do for digital libraries
What can linked data do for digital librariesWhat can linked data do for digital libraries
What can linked data do for digital libraries
 
Cooking up the Semantic Web
Cooking up the Semantic WebCooking up the Semantic Web
Cooking up the Semantic Web
 
Linked Open Data Principles, Technologies and Examples
Linked Open Data Principles, Technologies and ExamplesLinked Open Data Principles, Technologies and Examples
Linked Open Data Principles, Technologies and Examples
 
OMG Callimachus Demo 20120322 small
OMG Callimachus Demo 20120322 smallOMG Callimachus Demo 20120322 small
OMG Callimachus Demo 20120322 small
 
A structured catalog of open educational datasets
A structured catalog of open educational datasetsA structured catalog of open educational datasets
A structured catalog of open educational datasets
 
Open for Business - Open Archives, OpenURL, RSS and the Dublin Core
Open for Business - Open Archives, OpenURL, RSS and the Dublin CoreOpen for Business - Open Archives, OpenURL, RSS and the Dublin Core
Open for Business - Open Archives, OpenURL, RSS and the Dublin Core
 
Demo: Profiling & Exploration of Linked Open Data
Demo: Profiling & Exploration of Linked Open DataDemo: Profiling & Exploration of Linked Open Data
Demo: Profiling & Exploration of Linked Open Data
 
Overview of Open Data, Linked Data and Web Science
Overview of Open Data, Linked Data and Web ScienceOverview of Open Data, Linked Data and Web Science
Overview of Open Data, Linked Data and Web Science
 
Linked data for Enterprise Data Integration
Linked data for Enterprise Data IntegrationLinked data for Enterprise Data Integration
Linked data for Enterprise Data Integration
 

Andere mochten auch

Joqd announcement - Farsi
Joqd announcement - FarsiJoqd announcement - Farsi
Joqd announcement - FarsiJavid Izadfar
 
Web 3.0 - Introduction to the Semantic Web
Web 3.0 - Introduction to the Semantic Web Web 3.0 - Introduction to the Semantic Web
Web 3.0 - Introduction to the Semantic Web Fady Ramzy
 
وﺏ پلتفرﻡ ﻭ وﺏ دﺭ ساﻝ ۲۰۲۰ به کجا خوﺍهد رسید؟
وﺏ پلتفرﻡ ﻭ وﺏ دﺭ ساﻝ ۲۰۲۰ به کجا خوﺍهد رسید؟وﺏ پلتفرﻡ ﻭ وﺏ دﺭ ساﻝ ۲۰۲۰ به کجا خوﺍهد رسید؟
وﺏ پلتفرﻡ ﻭ وﺏ دﺭ ساﻝ ۲۰۲۰ به کجا خوﺍهد رسید؟Web Standards School
 
Semantic web 3.0 - Direction First
Semantic web 3.0 - Direction FirstSemantic web 3.0 - Direction First
Semantic web 3.0 - Direction FirstErica van Lieven
 
مقدمه ای بر داده های پيوندی
مقدمه ای بر داده های پيوندیمقدمه ای بر داده های پيوندی
مقدمه ای بر داده های پيوندیkhosravi82
 
A Channel Theoretic Foundation for Ontology Coordination - 2004
A Channel Theoretic Foundation for Ontology Coordination - 2004A Channel Theoretic Foundation for Ontology Coordination - 2004
A Channel Theoretic Foundation for Ontology Coordination - 2004Yannis Kalfoglou
 
introduction to Web 2.0
introduction to Web 2.0 introduction to Web 2.0
introduction to Web 2.0 Hossein sharafi
 
an introduction to Web 3.0 - Semantic Web
an introduction to Web 3.0 - Semantic Weban introduction to Web 3.0 - Semantic Web
an introduction to Web 3.0 - Semantic WebHossein sharafi
 
Web 3.0 explained with a stamp (pt II: techniques)
Web 3.0 explained with a stamp (pt II: techniques)Web 3.0 explained with a stamp (pt II: techniques)
Web 3.0 explained with a stamp (pt II: techniques)Freek Bijl
 
WEB 3.0 o Semántica
WEB 3.0 o SemánticaWEB 3.0 o Semántica
WEB 3.0 o SemánticaGael1312
 
Detail History of web 1.0 to 3.0
Detail History of web 1.0 to 3.0Detail History of web 1.0 to 3.0
Detail History of web 1.0 to 3.0Ghazal Hina
 
Web 3.0 explained with a stamp (pt I: the basics)
Web 3.0 explained with a stamp (pt I: the basics)Web 3.0 explained with a stamp (pt I: the basics)
Web 3.0 explained with a stamp (pt I: the basics)Freek Bijl
 
Web 1.0, Web 2.0 & Web 3.0
Web 1.0, Web 2.0 & Web 3.0Web 1.0, Web 2.0 & Web 3.0
Web 1.0, Web 2.0 & Web 3.0tokey_sport
 
The Next Big Thing is Web 3.0. Catch It If You Can
The Next Big Thing is Web 3.0. Catch It If You Can The Next Big Thing is Web 3.0. Catch It If You Can
The Next Big Thing is Web 3.0. Catch It If You Can Judy O'Connell
 

Andere mochten auch (16)

Ontology-FereshteMohsenian
Ontology-FereshteMohsenianOntology-FereshteMohsenian
Ontology-FereshteMohsenian
 
Joqd announcement - Farsi
Joqd announcement - FarsiJoqd announcement - Farsi
Joqd announcement - Farsi
 
Web 3.0 - Introduction to the Semantic Web
Web 3.0 - Introduction to the Semantic Web Web 3.0 - Introduction to the Semantic Web
Web 3.0 - Introduction to the Semantic Web
 
وﺏ پلتفرﻡ ﻭ وﺏ دﺭ ساﻝ ۲۰۲۰ به کجا خوﺍهد رسید؟
وﺏ پلتفرﻡ ﻭ وﺏ دﺭ ساﻝ ۲۰۲۰ به کجا خوﺍهد رسید؟وﺏ پلتفرﻡ ﻭ وﺏ دﺭ ساﻝ ۲۰۲۰ به کجا خوﺍهد رسید؟
وﺏ پلتفرﻡ ﻭ وﺏ دﺭ ساﻝ ۲۰۲۰ به کجا خوﺍهد رسید؟
 
Semantic web 3.0 - Direction First
Semantic web 3.0 - Direction FirstSemantic web 3.0 - Direction First
Semantic web 3.0 - Direction First
 
مقدمه ای بر داده های پيوندی
مقدمه ای بر داده های پيوندیمقدمه ای بر داده های پيوندی
مقدمه ای بر داده های پيوندی
 
A Channel Theoretic Foundation for Ontology Coordination - 2004
A Channel Theoretic Foundation for Ontology Coordination - 2004A Channel Theoretic Foundation for Ontology Coordination - 2004
A Channel Theoretic Foundation for Ontology Coordination - 2004
 
Web 3.0 Intro
Web 3.0 IntroWeb 3.0 Intro
Web 3.0 Intro
 
introduction to Web 2.0
introduction to Web 2.0 introduction to Web 2.0
introduction to Web 2.0
 
an introduction to Web 3.0 - Semantic Web
an introduction to Web 3.0 - Semantic Weban introduction to Web 3.0 - Semantic Web
an introduction to Web 3.0 - Semantic Web
 
Web 3.0 explained with a stamp (pt II: techniques)
Web 3.0 explained with a stamp (pt II: techniques)Web 3.0 explained with a stamp (pt II: techniques)
Web 3.0 explained with a stamp (pt II: techniques)
 
WEB 3.0 o Semántica
WEB 3.0 o SemánticaWEB 3.0 o Semántica
WEB 3.0 o Semántica
 
Detail History of web 1.0 to 3.0
Detail History of web 1.0 to 3.0Detail History of web 1.0 to 3.0
Detail History of web 1.0 to 3.0
 
Web 3.0 explained with a stamp (pt I: the basics)
Web 3.0 explained with a stamp (pt I: the basics)Web 3.0 explained with a stamp (pt I: the basics)
Web 3.0 explained with a stamp (pt I: the basics)
 
Web 1.0, Web 2.0 & Web 3.0
Web 1.0, Web 2.0 & Web 3.0Web 1.0, Web 2.0 & Web 3.0
Web 1.0, Web 2.0 & Web 3.0
 
The Next Big Thing is Web 3.0. Catch It If You Can
The Next Big Thing is Web 3.0. Catch It If You Can The Next Big Thing is Web 3.0. Catch It If You Can
The Next Big Thing is Web 3.0. Catch It If You Can
 

Ähnlich wie Introduction To The Semantic Web

Semantic Web Tutorial at ESTC2008, Vienna, on September 24, 2008
Semantic Web Tutorial at ESTC2008, Vienna, on September 24, 2008Semantic Web Tutorial at ESTC2008, Vienna, on September 24, 2008
Semantic Web Tutorial at ESTC2008, Vienna, on September 24, 2008Ivan Herman
 
Introduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS PractitionersIntroduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS PractitionersEmanuele Della Valle
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1jward5519
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1jward5519
 
Overview to Data Transaction Management
Overview to Data Transaction ManagementOverview to Data Transaction Management
Overview to Data Transaction ManagementKhairi Aiman
 
Providing geospatial information as Linked Open Data
Providing geospatial information as Linked Open DataProviding geospatial information as Linked Open Data
Providing geospatial information as Linked Open DataPat Kenny
 
Virtual Appliances, Cloud Computing, and Reproducible Research
Virtual Appliances, Cloud Computing, and Reproducible ResearchVirtual Appliances, Cloud Computing, and Reproducible Research
Virtual Appliances, Cloud Computing, and Reproducible ResearchUniversity of Washington
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDBBrian Ritchie
 
If Web Services are the Answer, What's The Question
If Web Services are the Answer, What's The QuestionIf Web Services are the Answer, What's The Question
If Web Services are the Answer, What's The QuestionDuncan Hull
 
Apache Stanbol 
and the Web of Data - ApacheCon 2011
Apache Stanbol 
and the Web of Data - ApacheCon 2011Apache Stanbol 
and the Web of Data - ApacheCon 2011
Apache Stanbol 
and the Web of Data - ApacheCon 2011Nuxeo
 
Apachecon 2011 stanbol_ogrisel
Apachecon 2011 stanbol_ogriselApachecon 2011 stanbol_ogrisel
Apachecon 2011 stanbol_ogriselNuxeo
 
Tutorial On Database Management System
Tutorial On Database Management SystemTutorial On Database Management System
Tutorial On Database Management Systempsathishcs
 
2 Roads to Redemption - Thoughts on XSS and SQLIA
2 Roads to Redemption - Thoughts on XSS and SQLIA2 Roads to Redemption - Thoughts on XSS and SQLIA
2 Roads to Redemption - Thoughts on XSS and SQLIAguestfdcb8a
 
Dataportability & Digital Identity
Dataportability & Digital IdentityDataportability & Digital Identity
Dataportability & Digital IdentityCédric Hüsler
 
RESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFIDRESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFIDDominique Guinard
 

Ähnlich wie Introduction To The Semantic Web (20)

Semantic Web Tutorial at ESTC2008, Vienna, on September 24, 2008
Semantic Web Tutorial at ESTC2008, Vienna, on September 24, 2008Semantic Web Tutorial at ESTC2008, Vienna, on September 24, 2008
Semantic Web Tutorial at ESTC2008, Vienna, on September 24, 2008
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
 
Introduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS PractitionersIntroduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS Practitioners
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
 
Overview to Data Transaction Management
Overview to Data Transaction ManagementOverview to Data Transaction Management
Overview to Data Transaction Management
 
Lecture 6 Data Driven Design
Lecture 6  Data Driven DesignLecture 6  Data Driven Design
Lecture 6 Data Driven Design
 
Providing geospatial information as Linked Open Data
Providing geospatial information as Linked Open DataProviding geospatial information as Linked Open Data
Providing geospatial information as Linked Open Data
 
Where is the World is my Open Government Data?
Where is the World is my Open Government Data?Where is the World is my Open Government Data?
Where is the World is my Open Government Data?
 
Virtual Appliances, Cloud Computing, and Reproducible Research
Virtual Appliances, Cloud Computing, and Reproducible ResearchVirtual Appliances, Cloud Computing, and Reproducible Research
Virtual Appliances, Cloud Computing, and Reproducible Research
 
2014 moore-ddd
2014 moore-ddd2014 moore-ddd
2014 moore-ddd
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDB
 
If Web Services are the Answer, What's The Question
If Web Services are the Answer, What's The QuestionIf Web Services are the Answer, What's The Question
If Web Services are the Answer, What's The Question
 
Apache Stanbol 
and the Web of Data - ApacheCon 2011
Apache Stanbol 
and the Web of Data - ApacheCon 2011Apache Stanbol 
and the Web of Data - ApacheCon 2011
Apache Stanbol 
and the Web of Data - ApacheCon 2011
 
Apachecon 2011 stanbol_ogrisel
Apachecon 2011 stanbol_ogriselApachecon 2011 stanbol_ogrisel
Apachecon 2011 stanbol_ogrisel
 
Tutorial On Database Management System
Tutorial On Database Management SystemTutorial On Database Management System
Tutorial On Database Management System
 
SEASR eScience 2008
SEASR eScience 2008SEASR eScience 2008
SEASR eScience 2008
 
2 Roads to Redemption - Thoughts on XSS and SQLIA
2 Roads to Redemption - Thoughts on XSS and SQLIA2 Roads to Redemption - Thoughts on XSS and SQLIA
2 Roads to Redemption - Thoughts on XSS and SQLIA
 
Dataportability & Digital Identity
Dataportability & Digital IdentityDataportability & Digital Identity
Dataportability & Digital Identity
 
RESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFIDRESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFID
 

Kürzlich hochgeladen

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Kürzlich hochgeladen (20)

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Introduction To The Semantic Web

  • 1. Introduction to the Semantic Web International Conference on Dublin Core and Metadata Applications, Singapore, 2007-08-31 Ivan Herman, W3C
  • 2. (2) (2) > Introduction This audience knows the value of machine readable data very well… But: on the Semantic Web the terminology does not separate the concept of metadata and data − data could be metadata the way we know it − but it could be, say, my calendar on line…  one’s metadata may be somebody else’s data… Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 3. (3) (3) > Example: data(base) integration Databases are very different in structure, in content Lots of applications require managing/merging several databases − after company mergers − combination of administrative data for e-Government − biochemical, genetic, pharmaceutical research − etc. Most of these data are accessible from the Web (though not necessarily public yet) − again, some of the information may be in metadata − but some is just the data itself Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 4. (4) (4) > And the problem is real… Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 5. (5) (5) > What is needed? (Some) data should be available for machines for further processing Data should be possibly combined, merged on a Web scale Machines may also need to reason about that data Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 6. (6) (6) > In what follows… We will use a simplistic example to introduce the main Semantic Web concepts We take, as an example area, data integration Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 7. (7) (7) > The rough structure of data integration 1. Map the various data onto an abstract data representation − make the data independent of its internal representation… 2. Merge the resulting representations 3. Start making queries on the whole! − queries that could not have been done on the individual data sets Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 8. (8) (8) > A simplified bookstore data (dataset “A”) ID Author Title Publisher Year ISBN 0-00-651409-X id_xyz The Glass Palace id_qpr 2000 ID Name Home page id_xyz Ghosh, Amitav http://www.amitavghosh.com/ ID Publ. Name City id_qpr Harper Collins London Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 9. (9) (9) st > 1 : export your data as a set of relations Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 10. (10) (10) > Some notes on the exporting the data Relations form a graph − the nodes refer to the “real” data or contain some literal − how the graph is represented in machine is immaterial for now Data export does not necessarily mean physical conversion of the data − relations can be generated on-the-fly at query time  via SQL “bridges”  scraping HTML pages  extracting data from Excel sheets  etc. One can export part of the data Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 11. (11) (11) > Another bookshop data (dataset “F”) ID Titre Auteur Traducteur Original ISBN 2020386682 Le Palais des miroirs i_abc i_qrs ISBN 0-00-651409-X ID Nom i_abc Ghosh, Amitav i_grs Besse, Christiane Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 12. (12) (12) nd > 2 : export your second set of data Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 13. (13) (13) rd > 3 : start merging your data Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 14. (14) (14) rd > 3 : start merging your data (cont.) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 15. (15) (15) rd > 3 : merge identical resources Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 16. (16) (16) > Start making queries… User of data “F” can now ask queries like: − « donnes-moi le titre de l’original » − (ie: “give me the title of the original”) This information is not in the dataset “F”… …but can be retrieved by merging with dataset “A”! Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 17. (17) (17) > However, more can be achieved… We “feel” that a:author and f:auteur should be the same But an automatic merge does not know that! Let us add some extra information to the merged data: − a:author same as f:auteur − both identify a “Person” − a term that a community may have already defined:  a “Person” is uniquely identified by his/her name and, say, homepage  it can be used as a “category” for certain type of resources Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 18. (18) (18) rd > 3 revisited: use the extra knowledge Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 19. (19) (19) > Start making richer queries! User of dataset “F” can now query: − « donnes-moi la page d’accueil de l’auteur de l’original » − (ie, “give me the home page of the original’s author”) The information is not in datasets “F” or “A” … …but was made available by: − merging datasets “A” and datasets “F” − adding three simple extra statements as an extra “glue” Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 20. (20) (20) > Combine with different datasets Using, e.g., the “Person”, the dataset can be combined with other sources For example, data in Wikipedia can be extracted using dedicated tools Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 21. (21) (21) > Merge with Wikipedia data Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 22. (22) (22) > Merge with Wikipedia data Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 23. (23) (23) > Merge with Wikipedia data Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 24. (24) (24) > Is that surprising? Maybe but, in fact, no… What happened via automatic means is done all the time, every day by the users of the Web! The difference: a bit of extra rigor (e.g., naming the relationships) is necessary so that machines could do this, too Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 25. (25) (25) > What did we do? We combined different datasets − all may be of different origin somewhere on the web − all may have different formats (mysql, excel sheet, XHTML, etc) − all may have different names for relations (e.g., multilingual) We could combine the data because some URI-s were identical (the ISBN-s in this case) We could add some simple additional information (the “glue”), also using common terminologies that a community has produced As a result, new relations could be found and retrieved Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 26. (26) (26) > It could become even more powerful We could add extra knowledge to the merged datasets − e.g., a full library or bookshop data − more geographical information − etc. This is where various “vocabularies” (ontologies, thesauri, taxonomies) etc, may come in Even more powerful queries can be asked as a result Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 27. (27) (27) > What did we do? (cont) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 28. (28) (28) > So where is the Semantic Web? The Semantic Web provides technologies to make such integration possible! Hopefully you get a full picture at the end of the tutorial But let us see some real life examples first… Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 29. (29) (29) > Integrate knowledge for Chinese Medicine Integration of a large number of relational databases (on traditional Chinese medicine) using a Semantic Layer − around 80 databases, around 200,000 records each A visual tool to map databases to the semantic layer using a specialized ontology Form based query interface for end users Courtesy of Huajun Chen, Zhejiang University, (SWEO Case Study) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 30. (30) (30) > Find the right experts at NASA Expertise locater for nearly 20,000 NASA civil servants using integration techniques over 6 or 7 geographically distributed databases, data sources, and web services… Courtesy of Kendall Clark, Clark & Parsia, LLC Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 31. (31) (31) > Help in choosing the right drug regimen Help in finding the best drug regimen for a specific case − find the best trade-off for a patient Use an ontology for medical conditions, signs, symptoms Integrate data from various sources (patients, physicians, Pharma, researchers, etc) Courtesy of Erick Von Schweber, PharmaSURVEYOR Inc., (SWEO Use Case) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 32. (32) (32) > Basic RDF Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 33. (33) (33) > RDF triples Let us begin to formalize what we did! − we “connected” the data… − but a simple connection is not enough… it should be named somehow − hence the RDF Triples: a labeled connection between two resources Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 34. (34) (34) > RDF triples (cont.) An RDF Triple (s,p,o) is such that: − “s”, “p” are URI-s, ie, resources on the Web; “o” is a URI or a literal  “s”, “p”, and “o” stand for “subject”, “predicate”, and “object”, respectively  conceptually: “p” connects, or relates the “s” and “o”  note that we use URI-s for naming: i.e., we can use http://www.example.org/original − here is the complete triple: (<http://…isbn…6682>, <http://…/original>, <http://…isbn…409X>) RDF is a general model for such triples (with machine readable formats like RDF/XML, Turtle, n3, RXR, …) … and that’s it! Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 35. (35) (35) > RDF triples (cont.) The “p” is also referred to as “property” in some cases Resources can use any URI; it can denote an element within an XML file on the Web, not only a “full” resource, e.g.: − http://www.example.org/file.xml#element(home) − http://www.example.org/file.html#home RDF triples form a directed, labeled graph (best way to think about them!) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 36. (36) (36) > A simple RDF example (in RDF/XML) <rdf:Description rdf:about=quot;http://…/isbn/2020386682quot;> <f:titre xml:lang=quot;frquot;>Le palais des mirroirs</f:titre> <f:original rdf:resource=quot;http://…/isbn/000651409Xquot;/> </rdf:Description> (Note: namespaces are used to simplify the URI-s) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 37. (37) (37) > A simple RDF example (in Turtle) <http://…/isbn/2020386682> f:titre quot;Le palais des mirroirsquot;@fr; f:original <http://…/isbn/000651409X>. Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 38. (38) (38) > URI-s play a fundamental role URI-s made the merge possible Anybody can create (meta)data on any resource on the Web − e.g., the same XHTML file could be annotated through other terms − semantics is added to existing Web resources via URI-s − URI-s make it possible to link (via properties) data with one another URI-s provide a syntax for naming and ground RDF into the Web − information can be retrieved using existing tools − this makes the “Semantic Web”, well… “Semantic Web” Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 39. (39) (39) > “Internal” nodes Consider the following statement: − “the publisher is a «thing» that has a name and an address” Until now, nodes were identified with a URI. But… …what is the URI of «thing»? Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 40. (40) (40) > One solution: create an extra URI <rdf:Description rdf:about=quot;http://…/isbn/000651409Xquot;> <a:publisher rdf:resource=quot;urn:uuid:f60ffb40-307d-…quot;/> </rdf:Description> <rdf:Description rdf:about=quot;urn:uuid:f60ffb40-307d-…quot;> <a:p_name>HarpersCollins</a:p_name> <a:city>HarpersCollins</a:city> </rdf:Description> The resource will be “visible” on the Web as all other resources − care should be taken to define unique URI-s (hence the UUID in the example) Serializations may give syntactic help to define local URI-s (much like the id-s in HTML) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 41. (41) (41) > Internal identifier (blank nodes) <rdf:Description rdf:about=quot;http://…/isbn/000651409Xquot;> <a:publisher rdf:nodeID=quot;A234quot;/> </rdf:Description> <rdf:Description rdf:nodeID=quot;A234quot;> <a:p_name>HarpersCollins</a:p_name> <a:city>HarpersCollins</a:city> </rdf:Description> <http://…/isbn/2020386682> a:publisher _:A234. _:A234 a:p_name quot;HarpersCollinsquot;. The exact syntax depends on the serialization format A234 is invisible from outside (it is not a “real” URI!); it is an internal identifier for a resource Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 42. (42) (42) > Blank nodes: the system can also do it Let the system create a “nodeID” internally (you do not really care about the name…) <rdf:Description rdf:about=quot;http://…/isbn/000651409Xquot;> <a:publisher> <rdf:Description> <a:p_name>HarpersCollins</a:p_name> … </rdf:Description> </a:publisher> </rdf:Description> Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 43. (43) (43) > Same in Turtle <http://…/isbn/000651409X> a:publisher [ a:p_name quot;HarpersCollinsquot;; … ]. Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 44. (44) (44) > Blank nodes: some more remarks Blank nodes require attention when merging − blanks nodes with identical nodeID-s in different graphs are different − implementation must be be careful with its naming schemes when merging Many applications prefer not to use blank nodes and define new URI-s “on-the-fly” − eg, when triples are in a database You can think of blank nodes as representing an “existential” statement (“there is a resource such that…”) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 45. (45) (45) > RDF in programming practice For example, using Java+Jena (HP’s Bristol Lab): − a “Model” object is created − the RDF file is parsed and results stored in the Model − the Model offers methods to retrieve:  triples  (property,object) pairs for a specific subject  (subject,property) pairs for specific object  etc. − the rest is conventional programming… Similar tools exist in Python, PHP, etc. (see later) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 46. (46) (46) > Jena example // create a model Model model=new ModelMem(); Resource subject=model.createResource(quot;URI_of_Subjectquot;) // 'in' refers to the input file model.read(new InputStreamReader(in)); StmtIterator iter=model.listStatements(subject,null,null); while(iter.hasNext()) { st = iter.next(); p = st.getProperty(); o = st.getObject(); do_something(p,o); } Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 47. (47) (47) > RDF schemas Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 48. (48) (48) > Need for RDF schemas This is the simple form of our “extra knowledge”: − define the terms we can use − what restrictions apply − what extra relationships are there? This is where RDF Schemas come in − officially: “RDF Vocabulary Description Language”; the term “Schema” is retained for historical reasons… Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 49. (49) (49) > Classes, resources, … Think of well known traditional ontologies or taxonomies: − use the term “novel” − “every novel is a fiction” − “«The Glass Palace» is a novel” − etc. RDFS defines resources and classes: − everything in RDF is a “resource” − “classes” are also resources, but… − …they are also a collection of possible resources (i.e., “individuals”)  “fiction”, “novel”, … Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 50. (50) (50) > Classes, resources, … (cont.) Relationships are defined among classes/resources: − “typing”: an individual belongs to a specific class (“«The Glass Palace» is a novel”)  to be more precise: “«http://.../000651409X» is a novel” − “subclassing”: all instances of one are also the instances of the other (“every novel is a fiction”) RDFS formalizes these notions in RDF Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 51. (51) (51) > Classes, resources in RDF(S) RDFS defines rdfs:Resource, rdfs:Class as nodes; rdf:type, rdfs:subClassOf as properties − (these are all special URI-s, we just use the namespace abbreviation) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 52. (52) (52) > Schema example in RDF/XML The schema part (“application’s data types”): <rdf:Description rdf:ID=quot;Novelquot;> <rdf:type rdf:resource= quot;http://www.w3.org/2000/01/rdf-schema#Classquot;/> </rdf:Description> The RDF data on a specific novel (“using the type”): <rdf:Description rdf:about=quot;http://…/isbn/000651409Xquot;> <rdf:type rdf:resource=quot;http://…/bookSchema.rdf#Novelquot;/> </rdf:Description> Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 53. (53) (53) > Further remarks on types A resource may belong to several classes − rdf:type is just a property… − “«The Glass Palace» is a novel, but «The Glass Palace» is also an «inventory item »…” • i.e., it is not like a datatype! The type information may be very important for applications − e.g., it may be used for a categorization of possible nodes − probably the most frequently used RDF predicate… • (remember the “Person” in our example?) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 54. (54) (54) > Inferred properties (<http://…/isbn/000651409X> rdf:type #Fiction) is not in the original RDF data… …but can be inferred from the RDFS rules better (“RDFS aware”) RDF environments return that triples, too Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 55. (55) (55) > Inference: let us be formal… The RDF Semantics document has a list of (44) entailment rules: − “if such and such triples are in the graph, add this and this triple” − do that recursively until the graph does not change The relevant rule for our example: If: uuu rdfs:subClassOf xxx . vvv rdf:type uuu . Then add: vvv rdf:type xxx . Whether those extra triplets are physically added to the graph or deduced when needed is an implementation issue Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 56. (56) (56) > Properties Property is a special class (rdf:Property) − properties are also resources identified by URI-s Properties’ range and domain can be specified − i.e., what type of resources can serve as object and subject − an important purpose: to license inferences  I can infer that, say, the object is of a specific type There is also a possibility for a “sub-property” − all resources bound by the “sub” are also bound by the other Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 57. (57) (57) > Properties (cont.) Properties are also resources (named via URI–s)… So properties of properties can be expressed as… RDF properties − this twists your mind a bit, but you can get used to it For example, (P rdfs:range C) means: − P is a property − C is a class instance − when using P, the “object” must be an individual in C This is an RDF statement with subject P, object C, and property rdfs:range Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 58. (58) (58) > Property specification example Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 59. (59) (59) > Property specification serialized In XML/RDF: <rdf:Property rdf:ID=quot;titlequot;> <rdfs:domain rdf:resource=quot;#Fictionquot;/> <rdfs:range rdf:resource=quot;http://...#Literalquot;/> </rdf:Property> In Turtle: :title rdf:type rdf:Property; rdfs:domain :Fiction; rdfs:range rdfs:Literal. Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 60. (60) (60) > Literals Literals may have a data type − floats, integers, booleans, etc, defined in XML Schemas  one can also define complex structures and restrictions via regular expressions, … − full XML fragments (Natural) language can also be specified Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 61. (61) (61) > A bit of RDFS can take you far… Remember the power of merge? We could have used, in our example: − f:auteur is a subproperty of a:author and vice versa (although we will see other ways to do that…) Of course, in some cases, more complex knowledge is necessary (see later…) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 62. (62) (62) > Simple Knowledge Organization System Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 63. (63) (63) > Simple Knowledge Organization System Goal: representing and sharing classifications, glossaries, thesauri, etc, as developed in the “Print World”. For example: − Dewey Decimal Classification, Art and Architecture Thesaurus, ACM classification of keywords and terms… − DMOZ categories (a.k.a. Open Directory Project) The system must be simple to allow for a quick port of traditional data This is where SKOS comes in: define classes, properties, where those structures can be added Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 64. (64) (64) > Example: entries in a glossary Assertion (i) Any expression which is claimed to be true. (ii) The act of claiming something to be true. Class A general concept, category or classification. Something used primarily to classify or categorize other things. Resource (i) An entity; anything in the universe. (ii) As a class name: the class of everything; the most inclusive category possible. (from the RDF Semantics Glossary) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 65. (65) (65) > Example: entries in a glossary in SKOS Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 66. (66) (66) > Example: taxonomy General - Traveling - Politics SemWeb - RDF - SKOS (from MortenF’s blog categories; note that the categorization is arbitrary!) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 67. (67) (67) > Example: taxonomy in SKOS Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 68. (68) (68) > Example: thesaurus Term Economic cooperation Used For Economic co-operation Broader terms Economic policy Narrower terms Economic integration, European economic cooperation, … Related terms Interdependence Scope Note Includes cooperative measures in banking, trade, … (from the UK Archival Thesaurus) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 69. (69) (69) > Example: thesaurus in SKOS Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 70. (70) (70) > SKOS Core overview Classes and Predicates: − Basic description (Concept, ConceptScheme, …) − Labeling (prefLabel, altLabel, …) − Documentation (definition, scopeNote, changeNote, …) − Semantic relations (broader, narrower, related) − Subject indexing (subject, isSubjectOf, …) − Grouping (Collection, OrderedCollection, …) − Subject Indicator (subjectIndicator) Some simple inference rules (a bit like the RDFS inference rules) to define some extra semantics A bit of warning: SKOS is still evolving! Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 71. (71) (71) > RDF data access, a.k.a. query (SPARQL) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 72. (72) (72) > Querying RDF graphs Remember the Jena idiom: StmtIterator iter=model.listStatements(subject,null,null); while(iter.hasNext()) { st = iter.next(); p = st.getProperty(); o = st.getObject(); do_something(p,o); In practice, more complex queries into the RDF data are necessary − something like: “give me the (a,b) pair of resources, for which there is an x such that (x parent a) and (b brother x) holds” (ie, return the uncles) − these rules may become quite complex Queries become very important for distributed RDF data! This is the goal of SPARQL (Query Language for RDF) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 73. (73) (73) > Analyze the Jena example StmtIterator iter=model.listStatements(subject,null,null); while(iter.hasNext()) { st = iter.next(); p = st.getProperty(); o = st.getObject(); do_something(p,o); The (subject,?p,?o) is a pattern for what we are looking for (with ?p and ?o as “unknowns”) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 74. (74) (74) > General: graph patterns The fundamental idea: generalize the approach to graph patterns: − the pattern contains unbound symbols − by binding the symbols (if possible), subgraphs of the RDF graph are selected − if there is such a selection, the query returns the bound resources SPARQL − is based on similar systems that already existed in some environments − is a programming language-independent query language Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 75. (75) (75) > Our Jena example in SPARQL SELECT ?p ?o WHERE {subject ?p ?o} The triples in WHERE define the graph pattern, with ?p and ?o “unbound” symbols The query returns a list of matching p,o pairs Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 76. (76) (76) > Simple SPARQL example SELECT ?isbn ?price ?currency # note: not ?x! WHERE { ?isbn a:price ?x. ?x rdf:value ?price. ?x p:currency ?currency.} Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 77. (77) (77) > Simple SPARQL example SELECT ?isbn ?price ?currency # note: not ?x! WHERE { ?isbn a:price ?x. ?x rdf:value ?price. ?x p:currency ?currency.} Returns: [[<..49X>,33,£], [<..49X>,50,€], [<..6682>,60,€], [<..6682>,78,$]] Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 78. (78) (78) > Pattern constraints SELECT ?isbn ?price ?currency # note: not ?x! WHERE { ?isbn a:price ?x. ?x rdf:value ?price. ?x p:currency ?currency. FILTER(?currency == € } Returns: [[<..409X>,50,€], [<..6682>,60,€]] Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 79. (79) (79) > Other SPARQL features Limit the number of returned results; remove duplicates, sort them, … Optional subpatterns (match if possible, return empty bindings otherwise) Specify several data sources (via URI-s) within the query (essentially, a merge!) Construct a graph combining a separate pattern and the query results, or simply ask whether a pattern matches Use datatypes and/or language tags when matching a pattern Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 80. (80) (80) > SPARQL usage in practice Locally, i.e., bound to a programming environments like Jena − less and less typical… Remotely, e.g., over the network − separate documents define the protocol and the result format  SPARQL Protocol for RDF with HTTP and SOAP bindings  SPARQL results in XML or JSON formats − big datasets often offer “SPARQL endpoints” for this protocol  In some cases one can query the local data only Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 81. (81) (81) > Get to RDF(S) data Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 82. (82) (82) > RDF can be extracted/generated Use intelligent “scrapers” or “wrappers” to extract a structure (hence RDF) from a Web page… − using conventions in, e.g., class names or meta elements … and then generate RDF automatically (e.g., via an XSLT script) This is similar to what “microformats” do (without referring to RDF, though) − they may not extract RDF but use the data directly instead in Web 2.0 applications, but the application is not all that different − other applications may extract it to yield RDF (e.g., RSS1.0) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 83. (83) (83) > Formalizing the scraper approach: GRDDL GRDDL formalizes the scraper approach. For example: <html xmlns=quot;http://www.w3.org/1999/quot;> <head profile=quot;http://www.w3.org/2003/g/data-viewquot;> <title>Some Document</title> <link rel=quot;transformationquot; href=quot;http:…/dc-extract.xslquot;/> <meta name=quot;DC.Subjectquot; content=quot;Some subjectquot;/> ... </head> ... <span class=quot;datequot;>2006-01-02</span> ... </html> yields, by running the file through dc-extract.xsl: <rdf:Description rdf:about=quot;…quot;> <dc:subject>Some subject</dc:subject> <dc:date>2006-01-02</dc:date> </rdf:Description> Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 84. (84) (84) > GRDDL (cont) The user has to provide dc-extract.xsl and use its conventions (making use of the meta-s, class id-s, etc…) …but, by using the profile attribute, a client is instructed to find and run the transformation processor automatically There is a mechanism for XML in general − a transformation can also be defined on an XML schema level A “bridge” to “microformats” Recommendation planned in September 2007 Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 85. (85) (85) > Another upcoming solution: RDFa For example: <div about=quot;http://uri.to.newsitemquot;> <span property=quot;dc:datequot;>March 23, 2004</span> <span property=quot;dc:titlequot;>Rollers hit casino for £1.3m</span> By <span property=quot;dc:creator foaf:namequot;>Steve Bird</span>. See <a href=quot;http://www.a.b.c/d.aviquot; rel=quot;dcmtype:MovingImagequot;> also video footage</a>… </div> • yields, by running the file through an RDFa processor: <http://uri.to.newsitem> dc:date quot;March 23, 2004quot;; dc:title quot;Rollers hit casino for £1.3m; dc:creator quot;Steve Birdquot;; foaf:name quot;Steve Birdquot;; dcmtype:MovingImage <http://www.a.b.c/d.avi>. Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 86. (86) (86) > RDFa (cont.) RDFa extends (X)HTML a bit by: − defining general attributes to add metadata to any elements (a bit like the class in microformats, but via dedicated properties) − provides an almost complete “serialization” of RDF in XHTML It is a bit like the microformats approach but with more rigor and fully generic − makes it easy to mix different vocabularies, which is not that easy with microformats Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 87. (87) (87) > Bridge to relational databases Most of the data are stored in relational databases − “RDFying” them may be an impossible task “Bridges” are being defined: − a layer between RDF and the database − RDB tables are “mapped” to RDF graphs, possibly on the fly • in some cases the mapping is generic (columns represent properties, cells are, e.g., literals or references to other tables via blank nodes)… • … in other cases separate mapping files define the details SPARQL is becoming the tool of choice to query that data − ie, “SPARQL endpoints” are defined to query it Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 88. (88) (88) > Eg: Linking Open Data Community Project “Expose” open datasets in RDF Set RDF links among the data items for different datasets Set up SPARQL endpoints to query the data Over 2 billion triples served so far (August 2007) Courtesy of Chris Bizer and Richard Cyganiak, Free University of Berlin Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 89. (89) (89) > SPARQL as a unifying point Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 90. (90) (90) > Ontologies (OWL) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 91. (91) (91) > Ontologies RDFS is useful, but does not solve all possible requirements Complex applications may want more possibilities: − similarity and/or differences of terms (properties or classes) − construct classes, not just name them − can a program reason about some terms? E.g.:  “if «Person» resources «A» and «B» have the same «foaf:email» property, then «A» and «B» are identical” − etc. This lead to the development of OWL (Web Ontology Language) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 92. (92) (92) > Classes in OWL In RDFS, you can subclass existing classes… that’s all In OWL, you can construct classes from existing ones: − enumerate its content − through intersection, union, complement − through property restrictions Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 93. (93) (93) > OWL classes can be “enumerated” The OWL solution, where possible content is explicitly listed: Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 94. (94) (94) > Same serialized <owl:Class rdf:ID=quot;Currencyquot;> <owl:oneOf rdf:parseType=quot;Collectionquot;> <owl:Thing rdf:ID=quot;£quot;/> <owl:Thing rdf:ID=quot;€quot;/> <owl:Thing rdf:ID=quot;$quot;/> … </owl:oneOf> </owl:Class> :£ rdf:type owl:Thing. :€ rdf:type owl:Thing. :$ rdf:type owl:Thing. :Currency rdf:type owl:Class; owl:oneOf (:€ :£ :$). The class consists of exactly of those individuals Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 95. (95) (95) > Union of classes Essentially, like a set-theoretical union: Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 96. (96) (96) > Same serialized :Novel rdf:type owl:Class. :Short_Story rdf:type owl:Class. :Poetry rdf:type owl:Class. :Literature rdf:type owlClass; owl:unionOf (:Novel :Short_Story :Poetry). Other possibilities: complementOf, intersectionOf Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 97. (97) (97) > Property restrictions (Sub)classes created by restricting the property values on that class For example, “a listed price is a price which is either in €, £, or $” means: − the value of “p:currency” when applied to the price resource must take one of those values… − …thereby define the class of “listed price” Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 98. (98) (98) > Property restrictions in OWL Restriction may be by: − value constraints (ie, further restrictions on the range)  all values must be from a class (like the price example)  some value must be from a class − cardinality constraints (ie, how many times the property is used on an instance?)  minimum cardinality  maximum cardinality  exact cardinality Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 99. (99) (99) > Somewhat more formally <owl:Class rdf:ID=quot;Listed_Pricequot;> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=quot;http://…#currencyquot;/> <owl:allValuesFrom rdf:resource=quot;#Currencyquot;> </owl:Restriction> </rdfs:subClassOf> </owl:Class> :Listed_Price rdf:type owl:Class; rdfs:subClassOf [ rdf:type owl:Restriction; owl:onProperty <http://…#currency>; owl:allValuesFrom :Currency. ]. “allValuesFrom” could be replaced by “someValuesFrom”, “cardinality”, “minCardinality”, or “maxCardinality” Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 100. (100) (100) > A word of warning… Cardinality restrictions are not used as syntactic restrictions to “reject” RDF data − eg, because not enough properties are set It means: “the remaining relations are out there somewhere” even if not all are known… Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 101. (101) (101) > Property characterization In OWL, one can characterize the behavior of properties (symmetric, transitive, functional, inverse functional…) OWL also separates data properties − “datatype property” means that its range are typed literals Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 102. (102) (102) > Characterization example “foaf:email” is inverse functional (i.e., two different subjects cannot have identical objects) Could be “FunctionalProperty”, “TransitiveProperty”, “SymmetricProperty” Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 103. (103) (103) > OWL: additional requirements Ontologies may be extremely large: − their management requires special care − they may consist of several modules − come from different places and must be integrated Ontologies are on the Web. That means − applications may use several, different ontologies, or… − … same ontologies but in different languages − equivalence of, and relations among terms become an issue Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 104. (104) (104) > Term equivalence For classes: − owl:equivalentClass: two classes have the same individuals − owl:disjointWith: no individuals in common For properties: − owl:equivalentProperty  remember the a:author vs. f:auteur? − owl:inverseOf: inverse relationship For individuals: − owl:sameAs: two URIs refer to the same individual (e.g., concept) − owl:differentFrom: negation of owl:sameAs Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 105. (105) (105) > Example: connecting to French Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 106. (106) (106) > Versioning, annotation Special class owl:Ontology with special properties: − owl:imports, owl:versionInfo, owl:priorVersion − owl:backwardCompatibleWith, owl:incompatibleWith − rdfs:label, rdfs:comment can also be used One instance of such class is expected in an ontology file Deprecation control: − owl:DeprecatedClass, owl:DeprecatedProperty types Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 107. (107) (107) > However: ontologies are hard! A full ontology-based application is a very complex system Hard to implement, may be heavy to run… … and not all applications may need it! Three layers of OWL are defined: Lite, DL, and Full − decreasing level of complexity and expressiveness  “Full” is the whole thing  “DL (Description Logic)” restricts Full in some respects  “Lite” restricts DL even more Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 108. (108) (108) > OWL Full No constraints on the various constructs A real superset of RDFS But: an OWL Full ontology may be undecidable! Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 109. (109) (109) > OWL Description Logic (DL) Maximal subset of OWL Full against which current research can assure that a decidable reasoning procedure is realizable (well, in current 2004…) Classes and individuals are strictly separated: a class cannot be an individual of another class No characterization of datatype properties possible … Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 110. (110) (110) > OWL Lite Provide a minimal useful subset, easily implemented All of DL’s restrictions, plus some more: − class construction can be done only through intersection or property constraints − cardinality restriction with 0 and 1 only − … Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 111. (111) (111) > Note on OWL layers OWL Layers were defined to reflect compromises: − expressibility vs. implementability Some application just need to express and interchange terms (with possible scruffiness): OWL Full is fine − they may build application-specific reasoning instead of using a general one Some applications need rigor; then OWL DL/Lite might be the good choice Future OWL versions may define further subsets that are simpler, easier to implement and still have enough functionality − referred to as “tractable fragments” Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 112. (112) (112) > Ontology development The hard work is to create the ontologies − requires a good knowledge of the area to be described − some communities have good expertise already − OWL is just a tool to formalize ontologies Large scale ontologies are often developed in a community process Ontologies should be shared and reused − can be via the simple namespace mechanisms… − …or via explicit inclusions Applications can also be developed with very small ontologies, though Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 113. (113) (113) > Ontologies examples International Country List − example for an OWL Lite ontology Large ontologies are being developed (converted from other formats or defined in OWL) − eClassOwl: eBusiness ontology for products and services, 75,000 classes and 5,500 properties − National Cancer Institute’s ontology: about 58,000 classes − Open Biomedical Ontologies Foundry: a collection of ontologies, including the Gene Ontology to describe gene and gene product attributes in any organism or protein sequence and annotation terminology and data (UniProt) − BioPAX: for biological pathway data Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 114. (114) (114) > What have we achieved? What is available? Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 115. (115) (115) > Remember the integration example? Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 116. (116) (116) > Same with what we learned Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 117. (117) (117) > Lots of tools Lots of tools are available. Are listed on W3C’s wiki: − RDF programming environment for 14+ languages, including C, C++, Python, Java, Javascript, Ruby, PHP,… (no Cobol or Ada yet…) − 13+ Triple Stores, ie, database systems to store datasets − SPARQL “endpoints” − converters to and from RDF − validators for RDF, OWL, … − etc Some of the tools are Open Source, some are not; some are very mature, some are not: it is the usual picture of software tools, nothing special any more! Anybody can start developing RDF-based applications today Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 118. (118) (118) > “Core” vocabularies There are also a number “core vocabularies” (not necessarily OWL based) − FOAF: about people and their organizations − DOAP: on the descriptions of software projects − Music Ontology: on the description of CDs, music tracks, … − SIOC: Semantically-Interlinked Online Communities − vCard in RDF − DCMI’s vocabularies: guess this one… − … Hopefully LOM, DC/RDA, etc, will enrich this list soon! One should never forget: ontologies/vocabularies must be shared and reused! Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 119. (119) (119) > Available specifications: Primers, Guides The “RDF Primer” and the “OWL Guide” give a formal introduction to RDF(S) and OWL SKOS has its separate “SKOS Core Guide” GRDDL Primer has just been published, RDFa Primer in preparation The W3C Semantic Web Activity Homepage has links to all the specifications Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 120. (120) (120) > Some books J. Davies, D. Fensel, F. van Harmelen: Towards the Semantic Web (2002) S. Powers: Practical RDF (2003) F. Baader, D. Calvanese, D. McGuinness, D. Nardi, P. Patel- Schneider: The Description Logic Handbook (2003) G. Antoniu, F. van Harmelen: Semantic Web Primer (2004) A. Gómez-Pérez, M. Fernández-López, O. Corcho: Ontological Engineering (2004) … See the separate Wiki page collecting book references Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 121. (121) (121) > Further information Dave Beckett’s Resources at Bristol University − huge list of documents, publications, tools, … Planet RDF aggregates a number of SW blogs Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 122. (122) (122) > SWBP Working Group documents Documents for ontology engineering − “Best Practice Recipes for Publishing RDF Vocabularies” − “Defining N-ary relations” − “Representing Classes as Property Values”; − “XML Schema Datatypes in RDF and OWL” − etc See the Group’s homepage for further links Work is continuing in the SW Deployment Group with new documents Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 123. (123) (123) > Deployment, more application examples Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 124. (124) (124) > The “corporate” landscape is moving Major companies offer (or will offer) Semantic Web tools or systems using Semantic Web: Adobe, Oracle, IBM, HP, Software AG, GE, Northrop Gruman, Altova, … Some of the names of active participants in W3C SW related groups: ILOG, HP, Agfa, SRI International, Fair Isaac Corp., Oracle, Boeing, IBM, Chevron, Siemens, Nokia, Merck, Pfizer, AstraZeneca, Sun, Eli Lilly, … Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 125. (125) (125) > May start with small communities The needs of a deployment application area: − have serious problem or opportunity − have the intellectual interest to pick up new things − have motivation to fix the problem − its data connects to other application areas − have an influence as a showcase for others The high energy physics community played this role for the Web in the 90’s Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 126. (126) (126) > Some deployment communities The technology is picked up by specialized communities − just like the high energy physics community did for the original Web… Some examples: defense, eGovernment, energy sector, financial services, health care, oil and gas industry, life sciences … digital libraries Health care and life science sector is now very active − also at W3C, in the form of an Interest Group Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 127. (127) (127) > Data integration Very important for large application areas (life sciences, energy sector, eGovernment, financial institutions), as well as everyday applications (eg, reconciliation of calendar data) Developments are under way at various companies, institutions − not always easy to find out the details… Data integration comes to the fore as one of the SW application areas We have already seen some examples; some more are: − Pfizer, Eli Lilly, MITRE Corp., Elsevier, … − EU R&D Projects like Sculpteur and Artiste − UN FAO’s MeteoBroker, … − Semantic Digital Library projects (JeromeDL, Simile, Fedora,…) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 128. (128) (128) > Web sites, portals, local site search Portal’s internal organization makes use of semantic data, ontologies − integration with external and internal data • there is a clear overlap here with data integration applications! − better queries, often based on controlled vocabularies or ontologies… These are very close to the metadata based applications… but the underlying vocabularies (ontologies) may be much more complex Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 129. (129) (129) > Semantic portal for art collections Courtesy of Jacco van Ossenbruggen, CWI, and Guus Schreiber, VU Amsterdam Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 130. (130) (130) > Portal to Principality of Asturias’ documents Search through governmental documents A “bridge” is created between the users and the juridical jargon using SW vocabularies and tools Courtesy of Diego Berrueta and Luis Polo, CTIC, U. of Oviedo, and the Principality of Asturias, (SWEO Case Study) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 131. (131) (131) > Improved Search via Ontology: GoPubMed Improved search on top of pubmed.org − search results are ranked using the specialized ontologies − extra search terms are generated and terms are highlighted Importance of domain specific ontologies for search improvement Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 132. (132) (132) > Other examples… Vodafone’s Live Mobile Portal Sun’s White Paper and System Handbook collections Nokia’s S60 support portal Yahoo!’s food and finance portals Oracle’s virtual pressroom Opera’s community site Dow Jones’ Synaptica Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 133. (133) (133) > Other application areas come to the fore Content management Business intelligence Collaborative user interfaces Sensor-based services Linking virtual communities Grid infrastructure Multimedia data management Etc Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore
  • 134. (134) (134) > Thank you for your attention! My email: ivan@w3.org These slides are publicly available on: http://www.w3.org/2007/Talks/0831-Singapore-IH/ You can also go to my general presentations’ site: http://www.w3.org/People/Ivan/CorePresentations/ • where other slide sets are available (extended version of the tutorial, semantics of RDF and OWL, further application examples, etc) Ivan Herman, Introduction to the Semantic Web; DC-2007, 2007-08-31, Singapore