SlideShare a Scribd company logo
RDF, SPARQL and Semantic
       Repositories
  3rd GATE Training Course @ Montreal
               Module 14
         Marin Dimitrov (Ontotext)


              August 2010
3rd GATE Training Course and
       Developer Sprint @ Montreal, Aug 2010

• https://gate.ac.uk/sale/images/gate-art/fig-
  posters/fig3-poster.pdf




                                                        Aug 2010   #2
                RDF, SPARQL and Semantic Repositories
Module 14 programme
9.45-11.00
              • RDF/S and OWL formal semantics and profiles
              • Querying RDF data with SPARQL
11.00-11.15
              • Coffee break
11.15-12.30
              •    Semantic Repositories
              •    OWLIM overview
12.30-14.00   Lunch break
14.00-16.00
              •    Benchmarking triplestores
              •    Distributed approaches to RDF materialisation
              •    From RDBMS to RDF
              •    Other RDF tools
16.00-16.30   Coffee
                       RDF, SPARQL and Semantic Repositories   Aug 2010   #3
RDF/S AND OWL FORMAL
SEMANTICS, DIALECTS & PROFILES



         RDF, SPARQL and Semantic Repositories   Aug 2010   #4
Resource Description Framework (RDF)

• A simple data model for
   – Formally describing the semantics of information in a
     machine accessible way
   – representing meta-data (data about data)
• A set of representation syntaxes
   – XML (standard) but also N3, Turtle, …
• Building blocks
   – Resources (with unique identifiers)
   – Literals
   – Named relations between pairs of resources (or a resource
     and a literal)
                    RDF, SPARQL and Semantic Repositories   Aug 2010   #5
RDF (2)

• Everything is a triple
   – Subject (resource), Predicate (relation), Object (resource
     or literal)
• The RDF graph is a collection of triples
                              predicate
            subject                                  object

          Concordia          locatedIn
                                                  Montreal
          University

                           hasPopulation
            Montreal                             1620698




                       RDF, SPARQL and Semantic Repositories   Aug 2010   #6
RDF graph example


                                                    hasName            “Concordia University”

       dbpedia:Concordia_University

                                                   hasName
                                                                       “Université Concordia”




                    Subject                         Predicate                          Object


http://dbpedia.org/resource/Concordia_University    hasName                     “Concordia University”

http://dbpedia.org/resource/Concordia_University    hasName                     “Université Concordia”




                                        RDF, SPARQL and Semantic Repositories                Aug 2010    #7
RDF graph example (2)
                                                           hasName            “Concordia University”

            dbpedia:Concordia_University

                                                         hasName
                                                                              “Université Concordia”

                           dbpedia:Montreal
                                                                 hasPopulation
                hasName
                                              hasName
                                                                           1620698
             “Montreal”                     “Montréal”


                    Subject                          Predicate                           Object

     http://dbpedia.org/resource/Montreal            hasName                           “Montreal”
     http://dbpedia.org/resource/Montreal          hasPopulation                        1620698
     http://dbpedia.org/resource/Montreal            hasName                           “Montréal”
http://dbpedia.org/resource/Concordia_University     hasName                      “Concordia University”
http://dbpedia.org/resource/Concordia_University     hasName                      “Université Concordia”


                                          RDF, SPARQL and Semantic Repositories                Aug 2010    #8
RDF graph example (3)
                                                           hasName               “Concordia University”

            dbpedia:Concordia_University

                                                          hasName
                      locatedIn                                                  “Université Concordia”

                           dbpedia:Montreal
                                                                 hasPopulation
                hasName
                                               hasName
                                                                           1620698
             “Montreal”                      “Montréal”


                    Subject                          Predicate                            Object

      http://dbpedia.org/resource/Montreal           hasName                            “Montreal”
      http://dbpedia.org/resource/Montreal         hasPopulation                         1620698
      http://dbpedia.org/resource/Montreal           hasName                            “Montréal”
http://dbpedia.org/resource/Concordia_University     locatedIn          http://dbpedia.org/resource/Montreal
http://dbpedia.org/resource/Concordia_University     hasName                       “Concordia University”
http://dbpedia.org/resource/Concordia_University     hasName                       “Université Concordia”

                                         RDF, SPARQL and Semantic Repositories                  Aug 2010       #9
RDF advantages

• Simple but expressive data model
• Global identifiers of all resources (URIs)
   – Reduces ambiguity
• Easier incremental data integration
   – Can handle       incomplete            information      (Open    World
     Assumption)
• Schema agility
• Graph structure
   – Suitable for a large class of tasks
   – Data merging is easier
                     RDF, SPARQL and Semantic Repositories      Aug 2010   #10
RDF Schema (RDFS)

• RDFS provides means for:
   – Defining Classes and Properties
   – Defining hierarchies (of classes and properties)
• RDFS differs from XML Schema (XSD)
   – Open World Assumption vs. Closed World Assumption
   – RDFS is about describing resources, not about validation
• Entailment rules (axioms)
   – Infer new triples from existing ones




                     RDF, SPARQL and Semantic Repositories   Aug 2010   #11
RDFS entailment rules




 RDF, SPARQL and Semantic Repositories   Aug 2010   #12
RDF entailment rules (2)

• Class/Property hierarchies
   – R5, R7, R9, R11
:human rdfs:subClassOf :mammal .             :John a :man .
:man rdsf:subClassOf :human .                 :John a :human .
 :man rdsf:subClassOf :mammal .              :John a :mammal .
:hasSpouse rdfs:subPropertyOf :relatedTo .
:John :hasSpouse :Merry .
 :John :relatedTo :Merry .

• Inferring types (domain/range restrictions)
   – R2, R3
 :hasSpouse rdfs:domain :human ;
            rdfs:range :human .
 :Adam :hasSpouse :Eve .
 :Adam a :human .
 :Eve a :human .

                     RDF, SPARQL and Semantic Repositories     Aug 2010   #13
RDFS – inferring new triples

                        owl:SymmetricProperty                     owl:inverseOf
    inferred
                                                      rdf:type




                                      rdf:type
                                                         owl:inverseOf

                    owl:relativeOf                                 ptop:parentOf
                                                 rdfs:subPropertyOf
ptop:Agent




                                                                    owl:inverseOf
                                     owl:inverseOf


                                ptop:Person
     rdf:type




                                                     rdfs:range

                                                                   ptop:childOf

myData:Ivan



                                                                   ptop:Woman



                                       myData: Maria


                    RDF, SPARQL and Semantic Repositories                           Aug 2010   #14
Web Ontology Language (OWL)

• More expressive than RDFS
   – Identity equivalence/difference
      • sameAs, differentFrom, equivalentClass/Property

• More expressive class definitions
   – Class intersection, union, complement, disjointness
   – Cardinality restrictions
• More expressive property definitions
   – Object/Datatype properties
   – Transitive, functional, symmetric, inverse properties
   – Value restrictions

                      RDF, SPARQL and Semantic Repositories   Aug 2010   #15
OWL (2)

• What can be done with OWL?
  – Consistency checks – are there contradictions in the logical
    model?
  – Satisfiability checks – are there classes that cannot have
    any instances?
  – Classification – what is the type of a particular instance?
• OWL sublanguages
  – OWL Lite – low expressiveness / low computational
    complexity
  – OWL DL – high expressiveness / decidable & complete
  – OWL Full – max expressiveness / no guarantees

                   RDF, SPARQL and Semantic Repositories   Aug 2010   #16
OWL (3)
                                :Montreal :hasPopulation 1620698 .
• Identity equivalence          :Montreal = :Montréal .
                                 :Montréal :hasPopulation 1620698 .

                                :locatedIn a owl:TransitiveProperty .
                                :Montreal :locatedIn :Quebec .
• Transitive properties         :Quebec :locatedIn :Canada .
                                 :Montreal :locatedIn :Canada.

                                :hasSpouse a owl:SymmetricProperty .
                                :John :hasSpouse :Merry .
• Symmetric properties           :Merry :hasSpouse :John .

                                :hasParent owl:inverseOf :hasChild .
• Inverse properties            :John :hasChild :Jane .
                                 :Jane :hasParent :John .

                                :hasSpouse a owl:FunctionalPropety .
                                :Merry :hasSpouse :John .
• Functional properties         :Merry :hasSpouse :JohnSmith .
                                 :JohnSmith = :John .


                 RDF, SPARQL and Semantic Repositories   Aug 2010   #17
The cost of “semantic clarity”




                                               (c) Mike Bergman

       RDF, SPARQL and Semantic Repositories        Aug 2010      #18
OWL sublanguages – OWL Lite

• OWL Lite
  –   low expressiveness / low computational complexity
  –   All RDFS features
  –   sameAs/differentFrom, equivalent class/property
  –   inverse/symmetric/transitive/functional properties
  –   property restrictions, cardinality (0 or 1)
  –   class intersection




                     RDF, SPARQL and Semantic Repositories   Aug 2010   #19
OWL sublanguages – OWL DL & OWL Full

• OWL DL
  –   high expressiveness / decidable & complete
  –   All OWL Lite features
  –   Class disjointness
  –   Complex class expressions
  –   Class union & complement
• OWL Full
  – max expressiveness / no guarantees
  – Same vocabulary as OWL-DL but less restrictions
       • In OWL DL, a Class cannot also be an Individual or a Property



                       RDF, SPARQL and Semantic Repositories   Aug 2010   #20
OWL 2 profiles

• Goals
  – sublanguages that trade expressiveness for efficiency of
    reasoning
  – Cover important application areas
  – Easier to understand by non-experts
• OWL 2 EL
  – Best for large ontologies / small instance data (TBox
    reasoning)
  – Computationally optimal
     • Satisfiability checks in PTime



                      RDF, SPARQL and Semantic Repositories   Aug 2010   #21
OWL 2 profiles (2)

• OWL 2 QL
  – Quite limited expressive power, but very efficient for
    query answering with large instance data
  – Can exploit query rewriting techniques
     • Data storage & query evaluation can be delegated to a RDBMS

• OWL 2 RL
  – Balance between scalable reasoning and expressive power
    (ABox reasoning)
  – OWL 2 RL rules can be expressed in RIF BLD




                    RDF, SPARQL and Semantic Repositories   Aug 2010   #22
OWL 2 profiles (3)




                                           (c) Axel Polleres



RDF, SPARQL and Semantic Repositories   Aug 2010               #23
QUERYING RDF DATA WITH
SPARQL



         RDF, SPARQL and Semantic Repositories   Aug 2010   #24
SPARQL Protocol and RDF Query Language (SPARQL)

• SQL-like query language for RDF data
• Simple protocol for querying remote databases over
  HTTP
• Query types
   – select – projections of variables and expressions
   – construct – create triples (or graphs) based on query
     results
   – ask – whether a query returns results (result is true/false)
   – describe – describe resources in the graph



                    RDF, SPARQL and Semantic Repositories   Aug 2010   #25
Example - describing resources

  • Go to www.FactForge.net and execute (in the
    “SPARQL query” tab):

PREFIX dbpedia: <http://dbpedia.org/resource/>

DESCRIBE dbpedia:Montreal




                 RDF, SPARQL and Semantic Repositories   Aug 2010   #26
SPARQL select
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbp-ont: <http://dbpedia.org/ontology/>

SELECT DISTINCT ?university ?students
WHERE {
  ?university rdf:type dbpedia:University .
  ?university dbp-ont:numberOfStudents ?students .
  ?university dbp-ont:city dbpedia:Montreal .
  FILTER (?students > 5000)
}
ORDER BY DESC (?students)




                                          RDF, SPARQL and Semantic Repositories   Aug 2010   #27
Triple patterns

• Whitespace separated list of Subject, Predicate,
  Object
  – ?x dbp-ont:city dbpedia:Montreal
  – dbpedia:Concordia_University db-ont:city ?y
• Triple patterns with common Subject
?uni rdf:type dbpedia:University .
?uni dbp-ont:city dbpedia:Montreal .

?uni rdf:type dbpedia:University ;
     dbp-ont:city dbpedia:Montreal .


                  RDF, SPARQL and Semantic Repositories   Aug 2010   #28
Triple patterns (2)

 • Triple patterns with common Subject and Predicate
?city rdf:label „Montreal‟@en .
?city rdf:label „Montréal‟@fr .
?city rdf:label „Montreal‟@en ,„Montréal‟@fr .

 • “a” can be used as an alternative for rdf:type

?uni rdf:type dbpedia:University .
?uni a dbpedia:University .



                   RDF, SPARQL and Semantic Repositories   Aug 2010   #29
Graph Patterns

    • Basic Graph Pattern
      – A conjunction of triple patterns
    • Group Graph Pattern
      – A group of 1+ graph patterns
      – Patterns are enclosed in { }
      – FILTERs can constrain the whole group
{
     ?uni a dbpedia:University ;
          dbp-ont:city dbpedia:Montreal ;
          dbp-ont:numberOfStudents ?students .
     FILTER (?students > 5000)
}
                       RDF, SPARQL and Semantic Repositories   Aug 2010   #30
Graph Patterns (2)

 • Optional Graph Pattern
   – Optional parts of a pattern
   – pattern OPTIONAL {pattern}

SELECT ?uni ?students
WHERE {
  ?uni a dbpedia:University ;
       dbp-ont:city dbpedia:Montreal .
  OPTIONAL {
     ?uni dbp-ont:numberOfStudents ?students
  }
}


                    RDF, SPARQL and Semantic Repositories   Aug 2010   #31
Graph Patterns (3)

 • Alternative Graph Pattern
    – Combine results of several alternative patterns
    – {pattern} UNION {pattern}
SELECT ?uni
WHERE {
  ?uni a dbpedia:University .
  {
     { ?uni dbp-ont:city dbpedia:Vancouver }
     UNION
     { ?uni dbp-ont:city dbpedia:Montreal }
  }
}

                     RDF, SPARQL and Semantic Repositories   Aug 2010   #32
Anatomy of a SPARQL query

• List of namespace prefixes
   – PREFIX xyz: <URI>
• List of variables
   – ?x, $y
• Graph patterns + filters
   – Simple / group / alternative / optional
• Modifiers
   – ORDER BY, DISTINCT, OFFSET/LIMIT




                      RDF, SPARQL and Semantic Repositories   Aug 2010   #33
Anatomy of a SPARQL query (2)


SELECT ?var1 ?var2
WHERE {
  triple-pattern1 .
  triple-pattern2 .
  {{triple-pattern3} UNION {triple-pattern4}}
  OPTIONAL {triple-pattern5}
  FILTER (filter-expr)
}
ORDER BY DESC (?var1)
LIMIT 100



                RDF, SPARQL and Semantic Repositories   Aug 2010   #34
SPARQL example

• List of namespace prefixes
• Go to www.FactForge.net (“SPARQL query” tab)
• Find all universities (and their number of
  students) which are located in Quebec
   • geo-ont:parentFeature,                 geo-ont:name,              geo-
     ont:alternativeName




                  RDF, SPARQL and Semantic Repositories     Aug 2010      #35
#36     Aug 2010    RDF, SPARQL and Semantic Repositories
PREFIX   rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX   dbpedia: <http://dbpedia.org/resource/>
PREFIX   dbp-ont: <http://dbpedia.org/ontology/>
PREFIX   geo-ont: <http://www.geonames.org/ontology#>
SELECT DISTINCT ?university ?city ?students
WHERE {
    ?university rdf:type dbpedia:University ;
                dbp-ont:city ?city .
    ?city geo-ont:parentFeature ?province .
    ?province geo-ont:name “Québec” .
    OPTIONAL {
       ?university dbp-ont:numberOfStudents ?students
    }
}
ORDER BY ASC (?city)
                     SPARQL example (2)
SEMANTIC REPOSITORIES




         RDF, SPARQL and Semantic Repositories   Aug 2010   #37
Semantic Repositories

• Semantic repositories combine the features of:
   – Database management systems (DBMS) and
   – Inference engines
• Rapid progress in the last 5 years
   – Every couple of years the scalability increases by an order
     of magnitude
• “Track-laying machines” for the Semantic Web
   – Extending the reach of the “data railways” and changing
     the data-economy by allowing more complex data to be
     managed at lower cost


                    RDF, SPARQL and Semantic Repositories   Aug 2010   #38
Semantic Repositories as Track-laying Machines




              RDF, SPARQL and Semantic Repositories   Aug 2010   #39
Semantic Repositories as Track-laying Machines (2)




                RDF, SPARQL and Semantic Repositories   Aug 2010   #40
Semantic Repositories vs. RDBMS

• The major differences with the DBMS are
  – They use ontologies as semantic schemata, which allows
    them to automatically reason about the data
  – They work with a more generic datamodel, which allows
    them more agile to updates and extensions in the
    schemata (i.e. in the structure of the data)




                  RDF, SPARQL and Semantic Repositories   Aug 2010   #41
RDF graph materialisation

<C1,rdfs:subClassOf,C2>
<C2,rdfs:subClassOf,C3>                                     owl:SymmetricProperty              owl:inverseOf
 <C1,rdfs:subClassOf,C3>                 inferred

<I,rdf:type,C1>                            rdf:type
                                                                                    owl:inverseOf
<C1,rdfs:subClassOf,C2>
 <I,rdf:type,C2>                                                                             ptop:parentOf
                                                       owl:relativeOf
                                                                            rdfs:subPropertyOf
<I1,P1,I2>                             ptop:Agent
<P1,rdfs:range,C2>




                                                                                                 owl:inverseOf
 <I2,rdf:type,C2>                                                      owl:inverseOf

<P1,owl:inverseOf,P2>
<I1,P1,I2>
                                                                   ptop:Person
 <I2,P2,I1>
                                                                                 rdfs:range
<P1,rdf:type,owl:SymmetricProperty>
                                                                                                ptop:childOf
 <P1,owl:inverseOf,P1>
                                      myData:Ivan



                                                                                               ptop:Woman



                                                                          myData: Maria
                                RDF, SPARQL and Semantic Repositories                     Aug 2010               #42
Major characteristics

• Easy integration of multiple data-sources
   – Once the schemata of the data-sources is semantically
     aligned, the inference capabilities of the engine assist the
     interlinking and combination of facts from different
     sources
• Easy querying against rich or diverse data schemata
   – Inference is applied to match the semantics of the query to
     the semantics of the data, regardless of the vocabulary
     and data modeling patterns used for encoding the data




                    RDF, SPARQL and Semantic Repositories   Aug 2010   #43
Major characteristics (2)

• Great analytical power
   – Semantics will be thoroughly applied even when this
     requires recursive inferences on multiple steps
   – Discover facts, by interlinking long chains of evidence
      • the vast majority of such facts would remain hidden in the DBMS

• Efficient data interoperability
   – Importing RDF data from one store to another is straight-
     forward, based on the usage of globally unique identifiers




                      RDF, SPARQL and Semantic Repositories   Aug 2010    #44
Reasoning Strategies

• The strategies for rule-based inference are:
   – Forward-chaining: start from the known (explicit) facts
     and perform inference in an inductive manner until the
     complete closure is inferred
   – Backward-chaining: to start from a particular fact and to
     verify it against the knowledge base using deductive
     reasoning
      • the reasoner decomposes the query (or the fact) into simpler facts
        that are available in the KB or can be proven through further
        recursive decompositions




                      RDF, SPARQL and Semantic Repositories   Aug 2010   #45
Reasoning Strategies (2)

• Inferred closure
   – the extension of a KB (a graph of RDF triples) with all the
     implicit facts (triples) that could be inferred from it, based
     on the pre-defined entailment rules
• Materialization
   – Maintaining an up-to-date inferred closure




                     RDF, SPARQL and Semantic Repositories   Aug 2010   #46
Pros and cons of forward-chaining based
                   materialization

• Relatively slow upload/store/addition of new facts
   – inferred closure is extended after each transaction
• Deletion of facts is slow
   – facts that are no longer true are removed from the
     inferred closure
• The maintenance of the inferred closure requires
  considerable resources
• Querying and retrieval are fast
   – no reasoning is required at query time
   – RDBMS-like query evaluation & optimisation techniques
     are applicable
                    RDF, SPARQL and Semantic Repositories   Aug 2010   #47
OWLIM OVERVIEW




        RDF, SPARQL and Semantic Repositories   Aug 2010   #48
Semantic Repository for RDFS and OWL

• OWLIM is a family of semantic repositories
   – SwiftOWLIM – fast in-memory operations, scales to
     ~100M statements
   – BigOWLIM – optimized for data integration, massive query
     loads and critical applications, scales up to 20B statements
• OWLIM is designed and tuned to provide
   – Efficient management, integration and analysis of
     heterogeneous data
   – Light-weight, high-performance reasoning




                     RDF, SPARQL and Semantic Repositories   Aug 2010   #49
Naïve OWL Fragments Map
                               Complexity*
             Expressivity supported
                  by OWLIM
                                     OWL Full
                              SWRL
                                      OWL DL
                                 OWL Lite
             OWL/WSML Flight
                    Datalog
                        OWL 2 RL

                      OWL Horst / Tiny

                          OWL Lite- / DHL
                               OWL DLP
                            RDFS

Rules, LP                                           DL


            RDF, SPARQL and Semantic Repositories    Aug 2010   #50
BigOWLIM performance

• BigOWLIM is the only engine that can reason with
  more than 10B statements, on a $10,000 server
  – It passes LUBM(90000), indexing over 20B explicit and
    implicit statements and being able to efficiently answer
    queries
  – it offers the most efficient query evaluation - the only RDF
    database for which full-cycle benchmarking results are
    published for the LUBM(8000) benchmark or higher




                   RDF, SPARQL and Semantic Repositories   Aug 2010   #51
Key Features

• Clustering support brings resilience, failover and
  horizontally scalable parallel query processing
• Optimized owl:sameAs handling
• Integrated full-text search
• High performance retraction of statements and their
  inferences
• Consistency checking mechanisms
• RDF rank for ordering query results by relevance
• Notification mechanism, to allow clients to react to
  updates in the data stream
                  RDF, SPARQL and Semantic Repositories   Aug 2010   #52
Replication Cluster

• Improve scalability with respect to concurrent user
  requests
• How does it work?
   – Each data write request is multiplexed to all repository
     instances
   – Each read request is dispatched to one instance only
   – To ensure load-balancing,
     read requests are sent to the
     instance with the shortest
     execution queue



                   RDF, SPARQL and Semantic Repositories   Aug 2010   #53
RDF Rank

• BigOWLIM uses a modification of PageRank over RDF
  graphs
• The computation of the RDFRank-s for FactForge
  (couple of billion statements) takes just a few
  minutes
• Results are available through a system predicate
   – Example: get the 100 most “important” nodes in the RDF
     graph

     SELECT ?node {?node onto:hasRDFRank ?rank}
     ORDER BY DESC(?rank) LIMIT 100

                   RDF, SPARQL and Semantic Repositories   Aug 2010   #54
example

• Go to www.FactForge.net ( “SPARQL query” tab)
• Find the 10 “most important” universities located in
  Quebec
   – geo-ont:parentFeature,      geo-ont:name,                       geo-
     ont:alternativeName, om:hasRDFRank




                  RDF, SPARQL and Semantic Repositories   Aug 2010      #55
example (2)

PREFIX   rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX   dbpedia: <http://dbpedia.org/resource/>
PREFIX   dbp-ont: <http://dbpedia.org/ontology/>
PREFIX   geo-ont: <http://www.geonames.org/ontology#>
PREFIX   owlim: <http://www.ontotext.com/owlim/>

SELECT DISTINCT ?university ?rank
WHERE {
    ?university rdf:type dbpedia:University ;
                dbp-ont:city ?city ;
                owlim:hasRDFRank ?rank .
    ?city geo-ont:parentFeature ?province .
    ?province geo-ont:name “Québec” .
}
ORDER BY DESC (?rank)
LIMIT 10

                      RDF, SPARQL and Semantic Repositories   Aug 2010   #56
example (3)




RDF, SPARQL and Semantic Repositories   Aug 2010   #57
RDF Search – advanced full-text search in RDF graphs

• Objective
   – Search in an RDF graph by keywords
   – Get more usable results (standalone literals are not useful
     in most cases)
• What to index:
   – URIs
   – The RDF molecule for an URI
      • the description of the node, including all outgoing statements

• Results returned
   – List of URIs, ranked by FTS + RDF Rank metric


                      RDF, SPARQL and Semantic Repositories   Aug 2010   #58
RDF Search (2)

 • The ranking is based on the standard vector-space-
   model relevance, boosted by RDF Rank

PREFIX gossip: <http://www.....gossipdb.owl#>
PREFIX onto: <http://www.ontotext.com/>

SELECT * WHERE {
  ?person gossip:name ?name .
  ?name onto:luceneQuery "American AND life~".
}




                  RDF, SPARQL and Semantic Repositories   Aug 2010   #59
owl:sameAs optimisation

   • owl:sameAs declares that two different URIs denote
     one and the same resource or object in the world
       – it is used to align different identifiers of the same real-
         world entity used in different data sources
   • Example: five different URIs for Montreal in four
     different datasets
dbpedia:Montreal owl:sameAs geonames:6077244
dbpedia:Montreal owl:sameAs geonames:6077243
geonames:6077243 owl:sameAs fbase:guid.9202a8c04000641f8000000000028aa7
fbase:guid.9202a8c04000641f8000000000028aa7 owl:sameAs
nytimes:N59179828586486930801



                         RDF, SPARQL and Semantic Repositories   Aug 2010   #60
owl:sameAs optimisation (2)

• According to the standard semantics of owl:sameAs:
   – It is a transitive and symmetric relationship
   – Statements, asserted using one of the equivalent URIs
     should be inferred to appear with all equivalent URIs
     placed in the same position
   – Thus the four statements in the previous example lead to
     ten inferred statements




                   RDF, SPARQL and Semantic Repositories   Aug 2010   #61
owl:sameAs optimisation (3)


dbpedia:Montreal owl:sameAs geonames:6077244
dbpedia:Montreal owl:sameAs geonames:6077243
dbpedia:Montreal owl:sameAs fbase:guid.9202a8c04000641f8000000000028aa7
dbpedia:Montreal owl:sameAs nytimes:N59179828586486930801
fbase:guid.9202a8c04000641f8000000000028aa7 owl:sameAs geonames:6077244
fbase:guid.9202a8c04000641f8000000000028aa7 owl:sameAs geonames:6077243
fbase:guid.9202a8c04000641f8000000000028aa7 owl:sameAs
nytimes:N59179828586486930801
nytimes:N59179828586486930801 owl:sameAs geonames:6077244
nytimes:N59179828586486930801 owl:sameAs geonames:6077243
geonames:6077244 owl:sameAs geonames:6077243




                          RDF, SPARQL and Semantic Repositories   Aug 2010   #62
owl:sameAs optimisation (4)

• BigOWLIM features an optimisation that allows it to
  use a single master-node in its indices to represent a
  class of sameAs-equivalent URIs
• Avoids inflating the indices with multiple equivalent
  statements
• Optionally expands query results
   – The owl:sameAs equivalence leads to multiplication of the
     bindings of the variables in the process of query evaluation
     (both forward- and backward-chaining)



                    RDF, SPARQL and Semantic Repositories   Aug 2010   #63
BENCHMARKING TRIPLESTORES




        RDF, SPARQL and Semantic Repositories   Aug 2010   #64
Tasks to be benchmarked

• Data loading
   – parsing, persistence, and indexing
• Query evaluation
   – query preparation and optimization, fetching
• Data modification
   – May involve changes to the ontologies and schemata
• Inference is not a first-level activity
   – Depending on the implementation, it can affect the
     performance of the other activities


                    RDF, SPARQL and Semantic Repositories   Aug 2010   #65
Performance factors for data loading

• Materialization
   – Whether forward-chaining is performed at load time & the
     complexity of forward-chaining
• Data model complexity
   – Support for extended RDF data models (e.g. named
     graphs), is computationally more expensive
• Indexing specifics
   – Repositories can apply different indexing strategies
     depending on the data loaded, usage patterns, etc.
• Transaction Isolation

                    RDF, SPARQL and Semantic Repositories   Aug 2010   #66
Performance factors for query evaluation

• Deduction
   – Whether and how complex backward-chaining is involved
• Size of the result-set
   – Fetching large result-sets can take considerable time
• Query complexity
   – Number of constraints (e.g. triple-pattern joins)
   – Semantics of the query (e.g. negation- and disjunction-
     related clauses)
   – Use of operators that cannot be optimized (e.g. LIKE)
• Number of concurrent clients

                    RDF, SPARQL and Semantic Repositories   Aug 2010   #67
Performance dimensions

• Scale
  – The size of the repository (number of triples)
• Schema and data complexity
  – The complexity of the ontology/logical language
  – The specific ontology (or schema) and dataset
       • E.g. a highly interconnected dataset, with long chains of transitive
         properties, can appear quite challenging for reasoning
  –   Sparse versus dense datasets
  –   Presence and size of literals
  –   Number of predicates used
  –   Use of owl:sameAs

                        RDF, SPARQL and Semantic Repositories   Aug 2010    #68
Scalability metrics

• Number of inserted statements (NIS)
• Number of stored statements (NSS)
   – How many statements have been stored and indexed?
   – Duplicates can make NSS smaller than NIS
   – For engines using forward-chaining and materialization,
     the volume of data to be indexed includes the inferred
     triples
• Number of retrievable statements (NRS)
   – How many different statements can be retrieved?
   – This number can be different from NSS when the
     repository supports some sort of backward-chaining
                   RDF, SPARQL and Semantic Repositories   Aug 2010   #69
Full-cycle benchmarking

• We call full-cycle benchmarking any methodology
  that provides a complete picture of the performance
  with respect to the full “life cycle” of the data within
  the engine
   – publication of data for both loading and query evaluation
     performance in the framework of a single experiment or
     benchmark run
   – Full-cycle benchmarking requires load performance data to
     be matched with query evaluation performance
      • “5 billion triples of LUBM were loaded in 30 hours”
      • “… and the evaluation of the 14 queries took 1 hour on a warm
        database.”

                     RDF, SPARQL and Semantic Repositories   Aug 2010   #70
Full-cycle benchmarking (2)

• Typical set of activities to be covered:
   1.   Loading input RDF files from the storage system
   2.   Parsing the RDF files
   3.   Indexing and storing the triples
   4.   Forward-chaining and materialization (optional)
   5.   Query parsing
   6.   Query optimization
        • Query re-writing (optional)
   7. Query evaluation, involving
        • Backward-chaining (optional)
        • Fetching the results


                        RDF, SPARQL and Semantic Repositories   Aug 2010   #71
Scalable Inference Map (Sep’07)

                                50
                                                                                                                  Buble size indicates
                                                                                                                  inference complexity
                                45

                                40          RDFS
Loading Speed ( 1000 st./sec)




                                35

                                30

                                25

                                20

                                15

                                10
                                                               OWL-Max
                                5                              (OWLIM)

                                0        LUBM(1000)            Uniprot                                                   LUBM(8000)
                                     0             200            400               600                800              1,000            1,200
                                                                Dataset size (mill. explicit statements)

                                              BigOWLIM 0.9.6               AllegroGraph 2.2.1              Openlink Virtuoso v.5.0



                                                                RDF, SPARQL and Semantic Repositories                        Aug 2010       #72
Scalable Inference Map (Nov’07)

                                50
                                                                                                           Bubble size indicates
                                45                                                                         loading complexity
                                            RDFS
Loading Speed ( 1000 st./sec)




                                40

                                35

                                30

                                25

                                20

                                15

                                10
                                                              OWL-Max
                                5
                                                              (OWLIM)
                                0        LUBM(1000)          Uniprot                                              LUBM(8000)
                                     0             200             400             600             800          1,000              1,200
                                                               Dataset size (mill. explicit statements)
                  BigOWLIM 0.9.6                      AllegroGraph 2.2     Openlink Virtuoso v.4.5        ORACLE 11g      DAML DB


                                                                 RDF, SPARQL and Semantic Repositories             Aug 2010          #73
Scalable Inference Map (Oct’08)
                                                  60
                                                                                                                                         Bubble size indicates
                                                                                                                                         loading complexity
Loading Speed ( 1000 st./sec, higher is better)




                                                  50                                                                                     (bigger is better)


                                                  40



                                                  30



                                                  20                                        RDFS



                                                  10

                                                                  OWL Horst
                                                  0
                                                         LUBM      PIKB                LUBM(8000)        UniProt                                     LUBM(20000)
                                                       0 (1000)           500              1,000             1,500              2,000            2,500              3,000
                                                                                       Dataset size (mill. explicit statements)
                                                       AllegroGraph             BigOWLIM           DAML DB           Jena TDB           ORACLE           Virtuoso


                                                                                      RDF, SPARQL and Semantic Repositories                      Aug 2010           #74
Scalable Inference Map (Jun’09)
                                                                                                                                     Bubble size indicates
                                                  140
                                                                                                                                     loading complexity
Loading Speed ( 1000 st./sec, higher is better)



                                                                                                   cluster of 14                     (bigger is better)
                                                  120                                             8-core blades
                                                                   sub-$10,000
                                                                   8-core server
                                                  100


                                                   80
                                                                     sub-$2000
                                                                   4-core desktop
                                                   60
                                                                                                                   sub-$10,000
                                                                                                                   8-core server
                                                   40


                                                   20


                                                    0
                                                        0                 5                        10                          15                    20
                                                                                   Dataset size (bill. explicit statements)
                                                        BigOWLIM      AllegroGraph           Virtuoso          Jena TDB             BigData        ORACLE


                                                                                   RDF, SPARQL and Semantic Repositories                         Aug 2010    #75
DISTRIBUTED APPROACHES TO RDF
MATERIALISATION



         RDF, SPARQL and Semantic Repositories   Aug 2010   #76
Distributed RDF materialisation with MapReduce

• Distributed approach by Urbani et al., ISWC’2009
   – “Scalable Distributed Reasoning using MapReduce”
• 64 node Hadoop cluster
• MapReduce
   – Map phase – partitions the input space by some key
   – Reduce phase – perform some aggregated processing on
     each partition (from the Map phase)
      • The partition contains all elements for a particular key
      • Skewed key distribution leads to uneven load on Reduce nodes
      • Balanced Reduce load almost impossible to achieve (major M/R
        drawback)


                     RDF, SPARQL and Semantic Repositories   Aug 2010   #77
Distributed RDF materialisation with MapReduce (2)




                                                        (c) Urbani et al.




                RDF, SPARQL and Semantic Repositories     Aug 2010          #78
RDFS entailment rules (reminder)




       RDF, SPARQL and Semantic Repositories   Aug 2010   #79
RDF materialisation with MapReduce – “naïve”
                     approach

• applying all RDFS rules iteratively on the input until
  no new data is derived (fixpoint)
   – rules with one antecedent are easy
   – rules with 2 antecedents require a join
• Map function
   – Key is S, P or O, value is original triple
   – 3 key/value pairs generated for each input triple
• Reduce function – performs the join



                    RDF, SPARQL and Semantic Repositories                       #80
                                                            Aug 2010(c) Urbani et al.
RDF materialisation with MapReduce – optimised
                      approach

• Problems with the “naïve” approach
  – One iteration is not enough
  – Too many duplicates generated
     • Ratio of unique:duplicate triples is around 1:50

• Optimised approach
  – Load schema triples in memory (0.001-0.01% of triples)
     • On each node joins are made between a very small set of schema
       triples and a large set of instance triples
     • Only the instance triples are streamed by the MapReduce pipeline




                      RDF, SPARQL and Semantic Repositories   Aug 2010   #81
RDF materialisation with MapReduce – optimised
                    approach (2)

• Data grouping to avoid duplicates
   – Map phase: set as key those parts of the input (S/P/O) that
     are also used in the derived triple. All triples that produce
     the same triple will be sent to the same Reducer
   – Join schema triples during the Reduce phase to reduce
     duplicates
• Ordering the sequence of rule application
   – Analyse the ruleset and determine which rules may
     triggered other rules
   – Dependency graph, optimal application of rules from
     bottom-up

                     RDF, SPARQL and Semantic Repositories   Aug 2010   #82
RDF materialisation with MapReduce – rule reordering




                                                         (c) Urbani et al.




                 RDF, SPARQL and Semantic Repositories     Aug 2010          #83
RDF materialisation with MapReduce – benchmarks

•       Performance benchmarks
    •     4.3 million triples / sec (30 billion in ~2h)




                                                                           (c) Urbani et al.




                            RDF, SPARQL and Semantic Repositories   Aug 2010            #84
FROM RDBMS TO RDF




        RDF, SPARQL and Semantic Repositories   Aug 2010   #85
RDB2RDF

• RDB2RDF working group @ W3C
   – http://www.w3.org/2001/sw/rdb2rdf/
   – standardize a language (R2RML) for mapping relational
     data / database schemas into RDF / OWL
• Existing RDF-izers
   – Triplify, D2RQ, RDF Views




                    RDF, SPARQL and Semantic Repositories   Aug 2010   #86
RDB2RDF – table-to-class mapping approach

• Each RDBMS table is a RDF class
• Each RDBMS record is a RDF node
• Each PK value value is a RDF Subject URI
• Each non-PK column name in a RDB table is a RDF
  Predicate
• Each RDBMS table cell value (non-PK) is a RDF Object




                  RDF, SPARQL and Semantic Repositories   Aug 2010   #87
RDB2RDF mapping example




   RDF, SPARQL and Semantic Repositories   Aug 2010          #88
                                                (c) RDB2RDF @ W3C.
OTHER RDF TOOLS




         RDF, SPARQL and Semantic Repositories   Aug 2010   #89
Ontology editors

• TopBraid Composer
  – http://www.topquadrant.com




                 RDF, SPARQL and Semantic Repositories   Aug 2010   #90
Ontology editors (2)

• Altova SemanticWorks
  – http://www.altova.com/semanticworks.html




                 RDF, SPARQL and Semantic Repositories   Aug 2010   #91
Ontology editors (3)

• Protégé
  – http://protege.stanford.edu
  – http://webprotege.stanford.edu




                  RDF, SPARQL and Semantic Repositories   Aug 2010   #92
RDF-izers

• Triplify
   – http://triplify.org
   – Transform relational data into RDF / Linked Data
• D2RQ platform
   –   http://www4.wiwiss.fu-berlin.de/bizer/d2rq/index.htm
   –   D2RQ mapping language
   –   D2RQ plugin for Sesame/Jena
   –   D2R server
   –   Linked Data & SPARQL endpoint



                     RDF, SPARQL and Semantic Repositories   Aug 2010   #93
RDF APIs

• Jena
  –   http://jena.sourceforge.net
  –   RDF/OWL API (Java)
  –   In-memory or persistent storage
  –   SPARQL query engine
• OpenRDF (Sesame)
  –   http://www.openrdf.org
  –   RDF API (Java), high performance parser
  –   Persistent storage
  –   SPARQL query engine


                     RDF, SPARQL and Semantic Repositories   Aug 2010   #94
Sesame API

• Architecture
  –   RDF Model
  –   RDF I/O (parsers & serializars)
  –   Storage & Inference Layer (for reasoners & databases)
  –   High-level Repository API
  –   HTTP & REST service frontend




                                                             (c) OpenRDF.org



                     RDF, SPARQL and Semantic Repositories       Aug 2010      #95
Sesame API (2)

• RDF model
   – Create statements, get S/P/O
• SAIL API
   – Initialise, shut-down repositories
   – Add/remove/iterate statements
   – Queries
• Repository API
   – Create a repository (in-memory, filesystem), connect
   – Add, retrieve, remove triples
   – Queries

                     RDF, SPARQL and Semantic Repositories   Aug 2010   #96
Sesame API – REST interface

           resource                   GET             POST                 PUT             DELETE
/repositories                      List available        -                  -                      -
                                    repositories
/repositories/ID                      query            Query                -                      -
                                    evaluation       evaluation

                                   • query text
                                    • Bindings
                                   • Inference
/repositories/ID/statements             Get         Adds/updates    Modifies existing        Deletes
                                    statements       statements       statements           statements
                                   in repository
                                                                                             • S, P, O
                                      • S, P, O
                                    • inference
/repositories/ID/namesapces            List              -                  -              Deletes all
                                   Namespace                                               namespace
                                   definitions                                             definitions
/repositories/ID/namesapces/PREF    Gets the             -          Defines/updates        Removes a
                                   namespace                       the namespace for       namespace
                                   for a prefix                         a prefix           declaration




                                   RDF, SPARQL and Semantic Repositories                Aug 2010         #97
Sesame API – OpenRDF Workbench




       RDF, SPARQL and Semantic Repositories   Aug 2010   #98
Summary of this module

• Benefits of using RDF
   – Simple data model, global identifiers, schema agility,
     incremental data integration
• RDFS/OWL entailment rules make it possible to infer
  new triples (knowledge) from existing ones
• OWL language
   – Identity equivalence, class intersection / union /
     complement, cardinality restrictions, object / datatype
     properties, transitive / symmetric / inverse / functional
     properties


                RDF, SPARQL and Semantic Repositories   Aug 2010   #99
Summary of this module (2)

• OWL languages and profiles
   – OWL Lite, OWL DL, OWL Full
   – OWL 2 EL, OWL 2 QL, OWL 2 RL
• SPARQL is a SQL-like language for querying RDF data
• Semantic repositories combine features of DBMS and
  logic inference engines
• Forward chaining vs. Backward chaining stategies
• OWLIM features
   – Massively scalable, replication cluster,          owl:sameAs
     optimisation, RDF search, RDF Rank

               RDF, SPARQL and Semantic Repositories    Aug 2010   #100
Summary of this module (3)

• Benchmarking
  – Performance factors and dimensions
• MapReduce can be used for massively distributed
  RDF materialisation
• RDBMS-to-RDF mapping approaches and tools
• RDF tools
  – Ontlogy editors, RDF-izers, RDF APIs




               RDF, SPARQL and Semantic Repositories   Aug 2010   #101

More Related Content

What's hot

SPARQL Cheat Sheet
SPARQL Cheat SheetSPARQL Cheat Sheet
SPARQL Cheat Sheet
LeeFeigenbaum
 
An Introduction to SPARQL
An Introduction to SPARQLAn Introduction to SPARQL
An Introduction to SPARQL
Olaf Hartig
 
RDF data model
RDF data modelRDF data model
RDF data model
Jose Emilio Labra Gayo
 
Rdf data-model-and-storage
Rdf data-model-and-storageRdf data-model-and-storage
Rdf data-model-and-storage
灿辉 葛
 
RDF 개념 및 구문 소개
RDF 개념 및 구문 소개RDF 개념 및 구문 소개
RDF 개념 및 구문 소개
Dongbum Kim
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
Rachel Lovinger
 
Rdf
RdfRdf
Rdf In A Nutshell V1
Rdf In A Nutshell V1Rdf In A Nutshell V1
Rdf In A Nutshell V1
Fabien Gandon
 
RDF validation tutorial
RDF validation tutorialRDF validation tutorial
RDF validation tutorial
Jose Emilio Labra Gayo
 
Ontology In A Nutshell (version 2)
Ontology In A Nutshell (version 2)Ontology In A Nutshell (version 2)
Ontology In A Nutshell (version 2)
Fabien Gandon
 
SHACL by example
SHACL by exampleSHACL by example
SHACL by example
Jose Emilio Labra Gayo
 
Introduction to RDF & SPARQL
Introduction to RDF & SPARQLIntroduction to RDF & SPARQL
Introduction to RDF & SPARQL
Open Data Support
 
Web ontology language (owl)
Web ontology language (owl)Web ontology language (owl)
Web ontology language (owl)
Ameer Sameer
 
OWL Full Semantics
OWL Full SemanticsOWL Full Semantics
OWL Full Semantics
Jie Bao
 
Understanding RDF: the Resource Description Framework in Context (1999)
Understanding RDF: the Resource Description Framework in Context  (1999)Understanding RDF: the Resource Description Framework in Context  (1999)
Understanding RDF: the Resource Description Framework in Context (1999)
Dan Brickley
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
Bernhard Haslhofer
 
온톨로지 추론 개요
온톨로지 추론 개요온톨로지 추론 개요
온톨로지 추론 개요
Sang-Kyun Kim
 
RDF 해설서
RDF 해설서RDF 해설서
RDF 해설서
Hansung University
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
Dr Sukhpal Singh Gill
 
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...
Jeff Z. Pan
 

What's hot (20)

SPARQL Cheat Sheet
SPARQL Cheat SheetSPARQL Cheat Sheet
SPARQL Cheat Sheet
 
An Introduction to SPARQL
An Introduction to SPARQLAn Introduction to SPARQL
An Introduction to SPARQL
 
RDF data model
RDF data modelRDF data model
RDF data model
 
Rdf data-model-and-storage
Rdf data-model-and-storageRdf data-model-and-storage
Rdf data-model-and-storage
 
RDF 개념 및 구문 소개
RDF 개념 및 구문 소개RDF 개념 및 구문 소개
RDF 개념 및 구문 소개
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
 
Rdf
RdfRdf
Rdf
 
Rdf In A Nutshell V1
Rdf In A Nutshell V1Rdf In A Nutshell V1
Rdf In A Nutshell V1
 
RDF validation tutorial
RDF validation tutorialRDF validation tutorial
RDF validation tutorial
 
Ontology In A Nutshell (version 2)
Ontology In A Nutshell (version 2)Ontology In A Nutshell (version 2)
Ontology In A Nutshell (version 2)
 
SHACL by example
SHACL by exampleSHACL by example
SHACL by example
 
Introduction to RDF & SPARQL
Introduction to RDF & SPARQLIntroduction to RDF & SPARQL
Introduction to RDF & SPARQL
 
Web ontology language (owl)
Web ontology language (owl)Web ontology language (owl)
Web ontology language (owl)
 
OWL Full Semantics
OWL Full SemanticsOWL Full Semantics
OWL Full Semantics
 
Understanding RDF: the Resource Description Framework in Context (1999)
Understanding RDF: the Resource Description Framework in Context  (1999)Understanding RDF: the Resource Description Framework in Context  (1999)
Understanding RDF: the Resource Description Framework in Context (1999)
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
 
온톨로지 추론 개요
온톨로지 추론 개요온톨로지 추론 개요
온톨로지 추론 개요
 
RDF 해설서
RDF 해설서RDF 해설서
RDF 해설서
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...
 

Viewers also liked

SPARQL Tutorial
SPARQL TutorialSPARQL Tutorial
SPARQL Tutorial
Leigh Dodds
 
SPARQL and RDF query optimization
SPARQL and RDF query optimizationSPARQL and RDF query optimization
SPARQL and RDF query optimization
Kisung Kim
 
BD2K hackathon - Bio2RDF submission
BD2K hackathon - Bio2RDF submissionBD2K hackathon - Bio2RDF submission
BD2K hackathon - Bio2RDF submission
François Belleau
 
MW2014 Workshop - Intro to Linked Open Data
MW2014 Workshop - Intro to Linked Open DataMW2014 Workshop - Intro to Linked Open Data
MW2014 Workshop - Intro to Linked Open Data
David Henry
 
LOD, SPARQL e dintorni
LOD, SPARQL e dintorniLOD, SPARQL e dintorni
LOD, SPARQL e dintorni
nvitucci
 
#sod14 - ok, è un endpoint SPARQL non facciamoci prendere dal panico
#sod14 - ok, è un endpoint SPARQL non facciamoci prendere dal panico#sod14 - ok, è un endpoint SPARQL non facciamoci prendere dal panico
#sod14 - ok, è un endpoint SPARQL non facciamoci prendere dal panico
Diego Valerio Camarda
 
Developing a Media Fragment Node.JS Server
Developing a Media Fragment Node.JS ServerDeveloping a Media Fragment Node.JS Server
Developing a Media Fragment Node.JS Server
Pasquale Lisena
 
Enabling access to Linked Media with SPARQL-MM
Enabling access to Linked Media with SPARQL-MMEnabling access to Linked Media with SPARQL-MM
Enabling access to Linked Media with SPARQL-MM
Thomas Kurz
 
Tim kiem ngu_nghia_tren_e_doc
Tim kiem ngu_nghia_tren_e_docTim kiem ngu_nghia_tren_e_doc
Tim kiem ngu_nghia_tren_e_doc
Viet Nam
 
Pal gov.tutorial2.session9.lab rdf-stores
Pal gov.tutorial2.session9.lab rdf-storesPal gov.tutorial2.session9.lab rdf-stores
Pal gov.tutorial2.session9.lab rdf-stores
Mustafa Jarrar
 
Linking Media and Data using Apache Marmotta (LIME workshop keynote)
Linking Media and Data using Apache Marmotta  (LIME workshop keynote)Linking Media and Data using Apache Marmotta  (LIME workshop keynote)
Linking Media and Data using Apache Marmotta (LIME workshop keynote)
LinkedTV
 
Smart Data Webinar (SLIDES): Agile Enterprise Ontology
Smart Data Webinar (SLIDES): Agile Enterprise OntologySmart Data Webinar (SLIDES): Agile Enterprise Ontology
Smart Data Webinar (SLIDES): Agile Enterprise Ontology
DATAVERSITY
 
Semantic Technologies and Triplestores for Business Intelligence
Semantic Technologies and Triplestores for Business IntelligenceSemantic Technologies and Triplestores for Business Intelligence
Semantic Technologies and Triplestores for Business Intelligence
Marin Dimitrov
 
Semantic Media Management with Apache Marmotta
Semantic Media Management with Apache MarmottaSemantic Media Management with Apache Marmotta
Semantic Media Management with Apache Marmotta
Thomas Kurz
 
MK:Smart - Overview
MK:Smart - OverviewMK:Smart - Overview
MK:Smart - Overview
Enrico Motta
 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
Lino Valdivia
 
FRBR και Linked Data - Σεμινάριο Αθήνας
FRBR και Linked Data -  Σεμινάριο ΑθήναςFRBR και Linked Data -  Σεμινάριο Αθήνας
FRBR και Linked Data - Σεμινάριο Αθήνας
Giannis Tsakonas
 
RDF: what and why plus a SPARQL tutorial
RDF: what and why plus a SPARQL tutorialRDF: what and why plus a SPARQL tutorial
RDF: what and why plus a SPARQL tutorial
Jerven Bolleman
 
Semantic Web Intro
Semantic Web IntroSemantic Web Intro
Semantic Web Intro
Nguyễn Tuyến
 
Overview of the W3C Semantic Sensor Network (SSN) ontology
Overview of the W3C Semantic Sensor Network (SSN) ontologyOverview of the W3C Semantic Sensor Network (SSN) ontology
Overview of the W3C Semantic Sensor Network (SSN) ontology
Raúl García Castro
 

Viewers also liked (20)

SPARQL Tutorial
SPARQL TutorialSPARQL Tutorial
SPARQL Tutorial
 
SPARQL and RDF query optimization
SPARQL and RDF query optimizationSPARQL and RDF query optimization
SPARQL and RDF query optimization
 
BD2K hackathon - Bio2RDF submission
BD2K hackathon - Bio2RDF submissionBD2K hackathon - Bio2RDF submission
BD2K hackathon - Bio2RDF submission
 
MW2014 Workshop - Intro to Linked Open Data
MW2014 Workshop - Intro to Linked Open DataMW2014 Workshop - Intro to Linked Open Data
MW2014 Workshop - Intro to Linked Open Data
 
LOD, SPARQL e dintorni
LOD, SPARQL e dintorniLOD, SPARQL e dintorni
LOD, SPARQL e dintorni
 
#sod14 - ok, è un endpoint SPARQL non facciamoci prendere dal panico
#sod14 - ok, è un endpoint SPARQL non facciamoci prendere dal panico#sod14 - ok, è un endpoint SPARQL non facciamoci prendere dal panico
#sod14 - ok, è un endpoint SPARQL non facciamoci prendere dal panico
 
Developing a Media Fragment Node.JS Server
Developing a Media Fragment Node.JS ServerDeveloping a Media Fragment Node.JS Server
Developing a Media Fragment Node.JS Server
 
Enabling access to Linked Media with SPARQL-MM
Enabling access to Linked Media with SPARQL-MMEnabling access to Linked Media with SPARQL-MM
Enabling access to Linked Media with SPARQL-MM
 
Tim kiem ngu_nghia_tren_e_doc
Tim kiem ngu_nghia_tren_e_docTim kiem ngu_nghia_tren_e_doc
Tim kiem ngu_nghia_tren_e_doc
 
Pal gov.tutorial2.session9.lab rdf-stores
Pal gov.tutorial2.session9.lab rdf-storesPal gov.tutorial2.session9.lab rdf-stores
Pal gov.tutorial2.session9.lab rdf-stores
 
Linking Media and Data using Apache Marmotta (LIME workshop keynote)
Linking Media and Data using Apache Marmotta  (LIME workshop keynote)Linking Media and Data using Apache Marmotta  (LIME workshop keynote)
Linking Media and Data using Apache Marmotta (LIME workshop keynote)
 
Smart Data Webinar (SLIDES): Agile Enterprise Ontology
Smart Data Webinar (SLIDES): Agile Enterprise OntologySmart Data Webinar (SLIDES): Agile Enterprise Ontology
Smart Data Webinar (SLIDES): Agile Enterprise Ontology
 
Semantic Technologies and Triplestores for Business Intelligence
Semantic Technologies and Triplestores for Business IntelligenceSemantic Technologies and Triplestores for Business Intelligence
Semantic Technologies and Triplestores for Business Intelligence
 
Semantic Media Management with Apache Marmotta
Semantic Media Management with Apache MarmottaSemantic Media Management with Apache Marmotta
Semantic Media Management with Apache Marmotta
 
MK:Smart - Overview
MK:Smart - OverviewMK:Smart - Overview
MK:Smart - Overview
 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
 
FRBR και Linked Data - Σεμινάριο Αθήνας
FRBR και Linked Data -  Σεμινάριο ΑθήναςFRBR και Linked Data -  Σεμινάριο Αθήνας
FRBR και Linked Data - Σεμινάριο Αθήνας
 
RDF: what and why plus a SPARQL tutorial
RDF: what and why plus a SPARQL tutorialRDF: what and why plus a SPARQL tutorial
RDF: what and why plus a SPARQL tutorial
 
Semantic Web Intro
Semantic Web IntroSemantic Web Intro
Semantic Web Intro
 
Overview of the W3C Semantic Sensor Network (SSN) ontology
Overview of the W3C Semantic Sensor Network (SSN) ontologyOverview of the W3C Semantic Sensor Network (SSN) ontology
Overview of the W3C Semantic Sensor Network (SSN) ontology
 

Similar to RDF, SPARQL and Semantic Repositories

SPARQL1.1 Tutorial, given in UChile by Axel Polleres (DERI)
SPARQL1.1 Tutorial, given in UChile by Axel Polleres (DERI)SPARQL1.1 Tutorial, given in UChile by Axel Polleres (DERI)
SPARQL1.1 Tutorial, given in UChile by Axel Polleres (DERI)
net2-project
 
DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World." DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World."
Avalon Media System
 
Consuming linked data by machines
Consuming linked data by machinesConsuming linked data by machines
Consuming linked data by machines
Patrick Sinclair
 
Piloting Linked Data to Connect Library and Archive Resources to the New Worl...
Piloting Linked Data to Connect Library and Archive Resources to the New Worl...Piloting Linked Data to Connect Library and Archive Resources to the New Worl...
Piloting Linked Data to Connect Library and Archive Resources to the New Worl...
Laura Akerman
 
Linked (Open) Data
Linked (Open) DataLinked (Open) Data
Linked (Open) Data
Bernhard Haslhofer
 
SemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in Practice
Dan Brickley
 
Linked data for librarians
Linked data for librariansLinked data for librarians
Linked data for librarians
trevorthornton
 
Linked data 101: Getting Caught in the Semantic Web
Linked data 101: Getting Caught in the Semantic Web Linked data 101: Getting Caught in the Semantic Web
Linked data 101: Getting Caught in the Semantic Web
Morgan Briles
 
OpenAIRE schirrwagen
OpenAIRE schirrwagenOpenAIRE schirrwagen
OpenAIRE schirrwagen
Talis Consulting
 
Lecture linked data cloud & sparql
Lecture linked data cloud & sparqlLecture linked data cloud & sparql
Lecture linked data cloud & sparql
Dhavalkumar Thakker
 
Current metadata landscape in the library world Getaneh Alemu
Current metadata landscape in the library world Getaneh AlemuCurrent metadata landscape in the library world Getaneh Alemu
Current metadata landscape in the library world Getaneh Alemu
Getaneh Alemu
 
Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of ...
Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of ...Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of ...
Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of ...
WU (Vienna University of Economics and Business)
 
Translation of Relational and Non-Relational Databases into RDF with xR2RML
Translation of Relational and Non-Relational Databases into RDF with xR2RMLTranslation of Relational and Non-Relational Databases into RDF with xR2RML
Translation of Relational and Non-Relational Databases into RDF with xR2RML
Franck Michel
 
Integrating Heterogeneous Data Sources in the Web of Data
Integrating Heterogeneous Data Sources in the Web of DataIntegrating Heterogeneous Data Sources in the Web of Data
Integrating Heterogeneous Data Sources in the Web of Data
Franck Michel
 
Heuristic based Query Optimisation for SPARQL
Heuristic based Query Optimisation for SPARQLHeuristic based Query Optimisation for SPARQL
Heuristic based Query Optimisation for SPARQL
PlanetData Network of Excellence
 
RDA and the semantic Web
RDA and the semantic WebRDA and the semantic Web
RDA and the semantic Web
Gordon Dunsire
 
RDF and Open Linked Data, a first approach
RDF and Open Linked Data, a first approachRDF and Open Linked Data, a first approach
RDF and Open Linked Data, a first approach
horvadam
 
Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010
Juan Sequeda
 
Semantic Web special interest group meeting - IFLA WLIC 2012
Semantic Web special interest group meeting - IFLA WLIC 2012Semantic Web special interest group meeting - IFLA WLIC 2012
Semantic Web special interest group meeting - IFLA WLIC 2012
Figoblog
 
Lifting the Lid on Linked Data
Lifting the Lid on Linked DataLifting the Lid on Linked Data
Lifting the Lid on Linked Data
Jane Stevenson
 

Similar to RDF, SPARQL and Semantic Repositories (20)

SPARQL1.1 Tutorial, given in UChile by Axel Polleres (DERI)
SPARQL1.1 Tutorial, given in UChile by Axel Polleres (DERI)SPARQL1.1 Tutorial, given in UChile by Axel Polleres (DERI)
SPARQL1.1 Tutorial, given in UChile by Axel Polleres (DERI)
 
DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World." DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World."
 
Consuming linked data by machines
Consuming linked data by machinesConsuming linked data by machines
Consuming linked data by machines
 
Piloting Linked Data to Connect Library and Archive Resources to the New Worl...
Piloting Linked Data to Connect Library and Archive Resources to the New Worl...Piloting Linked Data to Connect Library and Archive Resources to the New Worl...
Piloting Linked Data to Connect Library and Archive Resources to the New Worl...
 
Linked (Open) Data
Linked (Open) DataLinked (Open) Data
Linked (Open) Data
 
SemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in Practice
 
Linked data for librarians
Linked data for librariansLinked data for librarians
Linked data for librarians
 
Linked data 101: Getting Caught in the Semantic Web
Linked data 101: Getting Caught in the Semantic Web Linked data 101: Getting Caught in the Semantic Web
Linked data 101: Getting Caught in the Semantic Web
 
OpenAIRE schirrwagen
OpenAIRE schirrwagenOpenAIRE schirrwagen
OpenAIRE schirrwagen
 
Lecture linked data cloud & sparql
Lecture linked data cloud & sparqlLecture linked data cloud & sparql
Lecture linked data cloud & sparql
 
Current metadata landscape in the library world Getaneh Alemu
Current metadata landscape in the library world Getaneh AlemuCurrent metadata landscape in the library world Getaneh Alemu
Current metadata landscape in the library world Getaneh Alemu
 
Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of ...
Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of ...Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of ...
Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of ...
 
Translation of Relational and Non-Relational Databases into RDF with xR2RML
Translation of Relational and Non-Relational Databases into RDF with xR2RMLTranslation of Relational and Non-Relational Databases into RDF with xR2RML
Translation of Relational and Non-Relational Databases into RDF with xR2RML
 
Integrating Heterogeneous Data Sources in the Web of Data
Integrating Heterogeneous Data Sources in the Web of DataIntegrating Heterogeneous Data Sources in the Web of Data
Integrating Heterogeneous Data Sources in the Web of Data
 
Heuristic based Query Optimisation for SPARQL
Heuristic based Query Optimisation for SPARQLHeuristic based Query Optimisation for SPARQL
Heuristic based Query Optimisation for SPARQL
 
RDA and the semantic Web
RDA and the semantic WebRDA and the semantic Web
RDA and the semantic Web
 
RDF and Open Linked Data, a first approach
RDF and Open Linked Data, a first approachRDF and Open Linked Data, a first approach
RDF and Open Linked Data, a first approach
 
Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010
 
Semantic Web special interest group meeting - IFLA WLIC 2012
Semantic Web special interest group meeting - IFLA WLIC 2012Semantic Web special interest group meeting - IFLA WLIC 2012
Semantic Web special interest group meeting - IFLA WLIC 2012
 
Lifting the Lid on Linked Data
Lifting the Lid on Linked DataLifting the Lid on Linked Data
Lifting the Lid on Linked Data
 

More from Marin Dimitrov

Measuring the Productivity of Your Engineering Organisation - the Good, the B...
Measuring the Productivity of Your Engineering Organisation - the Good, the B...Measuring the Productivity of Your Engineering Organisation - the Good, the B...
Measuring the Productivity of Your Engineering Organisation - the Good, the B...
Marin Dimitrov
 
Mapping Your Career Journey
Mapping Your Career JourneyMapping Your Career Journey
Mapping Your Career Journey
Marin Dimitrov
 
Open Source @ Uber
Open Source @ Uber Open Source @ Uber
Open Source @ Uber
Marin Dimitrov
 
Trust - the Key Success Factor for Teams & Organisations
Trust - the Key Success Factor for Teams & OrganisationsTrust - the Key Success Factor for Teams & Organisations
Trust - the Key Success Factor for Teams & Organisations
Marin Dimitrov
 
Uber @ Telerik Academy 2018
Uber @ Telerik Academy 2018Uber @ Telerik Academy 2018
Uber @ Telerik Academy 2018
Marin Dimitrov
 
Machine Learning @ Uber
Machine Learning @ UberMachine Learning @ Uber
Machine Learning @ Uber
Marin Dimitrov
 
Career Advice for My Younger Self
Career Advice for My Younger SelfCareer Advice for My Younger Self
Career Advice for My Younger Self
Marin Dimitrov
 
Scaling Your Engineering Organization with Distributed Sites
Scaling Your Engineering Organization with Distributed SitesScaling Your Engineering Organization with Distributed Sites
Scaling Your Engineering Organization with Distributed Sites
Marin Dimitrov
 
Building, Scaling and Leading High-Performance Teams
Building, Scaling and Leading High-Performance TeamsBuilding, Scaling and Leading High-Performance Teams
Building, Scaling and Leading High-Performance Teams
Marin Dimitrov
 
Uber @ Career Days 2017 (Sofia University)
Uber @ Career Days 2017 (Sofia University)Uber @ Career Days 2017 (Sofia University)
Uber @ Career Days 2017 (Sofia University)
Marin Dimitrov
 
GraphDB Connectors – Powering Complex SPARQL Queries
GraphDB Connectors – Powering Complex SPARQL QueriesGraphDB Connectors – Powering Complex SPARQL Queries
GraphDB Connectors – Powering Complex SPARQL Queries
Marin Dimitrov
 
DataGraft Platform: RDF Database-as-a-Service
DataGraft Platform: RDF Database-as-a-ServiceDataGraft Platform: RDF Database-as-a-Service
DataGraft Platform: RDF Database-as-a-Service
Marin Dimitrov
 
On-Demand RDF Graph Databases in the Cloud
On-Demand RDF Graph Databases in the CloudOn-Demand RDF Graph Databases in the Cloud
On-Demand RDF Graph Databases in the Cloud
Marin Dimitrov
 
Low-cost Open Data As-a-Service
Low-cost Open Data As-a-ServiceLow-cost Open Data As-a-Service
Low-cost Open Data As-a-Service
Marin Dimitrov
 
Text Analytics & Linked Data Management As-a-Service
Text Analytics & Linked Data Management As-a-ServiceText Analytics & Linked Data Management As-a-Service
Text Analytics & Linked Data Management As-a-Service
Marin Dimitrov
 
RDF Database-as-a-Service with S4
RDF Database-as-a-Service with S4RDF Database-as-a-Service with S4
RDF Database-as-a-Service with S4
Marin Dimitrov
 
Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked Data
Marin Dimitrov
 
Enabling Low-cost Open Data Publishing and Reuse
Enabling Low-cost Open Data Publishing and ReuseEnabling Low-cost Open Data Publishing and Reuse
Enabling Low-cost Open Data Publishing and Reuse
Marin Dimitrov
 
S4: The Self-Service Semantic Suite
S4: The Self-Service Semantic SuiteS4: The Self-Service Semantic Suite
S4: The Self-Service Semantic Suite
Marin Dimitrov
 
Scaling to Millions of Concurrent SPARQL Queries on the Cloud
Scaling to Millions of Concurrent SPARQL Queries on the CloudScaling to Millions of Concurrent SPARQL Queries on the Cloud
Scaling to Millions of Concurrent SPARQL Queries on the Cloud
Marin Dimitrov
 

More from Marin Dimitrov (20)

Measuring the Productivity of Your Engineering Organisation - the Good, the B...
Measuring the Productivity of Your Engineering Organisation - the Good, the B...Measuring the Productivity of Your Engineering Organisation - the Good, the B...
Measuring the Productivity of Your Engineering Organisation - the Good, the B...
 
Mapping Your Career Journey
Mapping Your Career JourneyMapping Your Career Journey
Mapping Your Career Journey
 
Open Source @ Uber
Open Source @ Uber Open Source @ Uber
Open Source @ Uber
 
Trust - the Key Success Factor for Teams & Organisations
Trust - the Key Success Factor for Teams & OrganisationsTrust - the Key Success Factor for Teams & Organisations
Trust - the Key Success Factor for Teams & Organisations
 
Uber @ Telerik Academy 2018
Uber @ Telerik Academy 2018Uber @ Telerik Academy 2018
Uber @ Telerik Academy 2018
 
Machine Learning @ Uber
Machine Learning @ UberMachine Learning @ Uber
Machine Learning @ Uber
 
Career Advice for My Younger Self
Career Advice for My Younger SelfCareer Advice for My Younger Self
Career Advice for My Younger Self
 
Scaling Your Engineering Organization with Distributed Sites
Scaling Your Engineering Organization with Distributed SitesScaling Your Engineering Organization with Distributed Sites
Scaling Your Engineering Organization with Distributed Sites
 
Building, Scaling and Leading High-Performance Teams
Building, Scaling and Leading High-Performance TeamsBuilding, Scaling and Leading High-Performance Teams
Building, Scaling and Leading High-Performance Teams
 
Uber @ Career Days 2017 (Sofia University)
Uber @ Career Days 2017 (Sofia University)Uber @ Career Days 2017 (Sofia University)
Uber @ Career Days 2017 (Sofia University)
 
GraphDB Connectors – Powering Complex SPARQL Queries
GraphDB Connectors – Powering Complex SPARQL QueriesGraphDB Connectors – Powering Complex SPARQL Queries
GraphDB Connectors – Powering Complex SPARQL Queries
 
DataGraft Platform: RDF Database-as-a-Service
DataGraft Platform: RDF Database-as-a-ServiceDataGraft Platform: RDF Database-as-a-Service
DataGraft Platform: RDF Database-as-a-Service
 
On-Demand RDF Graph Databases in the Cloud
On-Demand RDF Graph Databases in the CloudOn-Demand RDF Graph Databases in the Cloud
On-Demand RDF Graph Databases in the Cloud
 
Low-cost Open Data As-a-Service
Low-cost Open Data As-a-ServiceLow-cost Open Data As-a-Service
Low-cost Open Data As-a-Service
 
Text Analytics & Linked Data Management As-a-Service
Text Analytics & Linked Data Management As-a-ServiceText Analytics & Linked Data Management As-a-Service
Text Analytics & Linked Data Management As-a-Service
 
RDF Database-as-a-Service with S4
RDF Database-as-a-Service with S4RDF Database-as-a-Service with S4
RDF Database-as-a-Service with S4
 
Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked Data
 
Enabling Low-cost Open Data Publishing and Reuse
Enabling Low-cost Open Data Publishing and ReuseEnabling Low-cost Open Data Publishing and Reuse
Enabling Low-cost Open Data Publishing and Reuse
 
S4: The Self-Service Semantic Suite
S4: The Self-Service Semantic SuiteS4: The Self-Service Semantic Suite
S4: The Self-Service Semantic Suite
 
Scaling to Millions of Concurrent SPARQL Queries on the Cloud
Scaling to Millions of Concurrent SPARQL Queries on the CloudScaling to Millions of Concurrent SPARQL Queries on the Cloud
Scaling to Millions of Concurrent SPARQL Queries on the Cloud
 

Recently uploaded

RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
How to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdfHow to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdf
ChristopherTHyatt
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
BrainSell Technologies
 
The Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdfThe Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdf
paysquare consultancy
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
Safe Software
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
CEPTES Software Inc
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
kumarjarun2010
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
Ivanti
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
SynapseIndia
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 

Recently uploaded (20)

RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
How to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdfHow to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdf
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
 
The Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdfThe Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdf
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 

RDF, SPARQL and Semantic Repositories

  • 1. RDF, SPARQL and Semantic Repositories 3rd GATE Training Course @ Montreal Module 14 Marin Dimitrov (Ontotext) August 2010
  • 2. 3rd GATE Training Course and Developer Sprint @ Montreal, Aug 2010 • https://gate.ac.uk/sale/images/gate-art/fig- posters/fig3-poster.pdf Aug 2010 #2 RDF, SPARQL and Semantic Repositories
  • 3. Module 14 programme 9.45-11.00 • RDF/S and OWL formal semantics and profiles • Querying RDF data with SPARQL 11.00-11.15 • Coffee break 11.15-12.30 • Semantic Repositories • OWLIM overview 12.30-14.00 Lunch break 14.00-16.00 • Benchmarking triplestores • Distributed approaches to RDF materialisation • From RDBMS to RDF • Other RDF tools 16.00-16.30 Coffee RDF, SPARQL and Semantic Repositories Aug 2010 #3
  • 4. RDF/S AND OWL FORMAL SEMANTICS, DIALECTS & PROFILES RDF, SPARQL and Semantic Repositories Aug 2010 #4
  • 5. Resource Description Framework (RDF) • A simple data model for – Formally describing the semantics of information in a machine accessible way – representing meta-data (data about data) • A set of representation syntaxes – XML (standard) but also N3, Turtle, … • Building blocks – Resources (with unique identifiers) – Literals – Named relations between pairs of resources (or a resource and a literal) RDF, SPARQL and Semantic Repositories Aug 2010 #5
  • 6. RDF (2) • Everything is a triple – Subject (resource), Predicate (relation), Object (resource or literal) • The RDF graph is a collection of triples predicate subject object Concordia locatedIn Montreal University hasPopulation Montreal 1620698 RDF, SPARQL and Semantic Repositories Aug 2010 #6
  • 7. RDF graph example hasName “Concordia University” dbpedia:Concordia_University hasName “Université Concordia” Subject Predicate Object http://dbpedia.org/resource/Concordia_University hasName “Concordia University” http://dbpedia.org/resource/Concordia_University hasName “Université Concordia” RDF, SPARQL and Semantic Repositories Aug 2010 #7
  • 8. RDF graph example (2) hasName “Concordia University” dbpedia:Concordia_University hasName “Université Concordia” dbpedia:Montreal hasPopulation hasName hasName 1620698 “Montreal” “Montréal” Subject Predicate Object http://dbpedia.org/resource/Montreal hasName “Montreal” http://dbpedia.org/resource/Montreal hasPopulation 1620698 http://dbpedia.org/resource/Montreal hasName “Montréal” http://dbpedia.org/resource/Concordia_University hasName “Concordia University” http://dbpedia.org/resource/Concordia_University hasName “Université Concordia” RDF, SPARQL and Semantic Repositories Aug 2010 #8
  • 9. RDF graph example (3) hasName “Concordia University” dbpedia:Concordia_University hasName locatedIn “Université Concordia” dbpedia:Montreal hasPopulation hasName hasName 1620698 “Montreal” “Montréal” Subject Predicate Object http://dbpedia.org/resource/Montreal hasName “Montreal” http://dbpedia.org/resource/Montreal hasPopulation 1620698 http://dbpedia.org/resource/Montreal hasName “Montréal” http://dbpedia.org/resource/Concordia_University locatedIn http://dbpedia.org/resource/Montreal http://dbpedia.org/resource/Concordia_University hasName “Concordia University” http://dbpedia.org/resource/Concordia_University hasName “Université Concordia” RDF, SPARQL and Semantic Repositories Aug 2010 #9
  • 10. RDF advantages • Simple but expressive data model • Global identifiers of all resources (URIs) – Reduces ambiguity • Easier incremental data integration – Can handle incomplete information (Open World Assumption) • Schema agility • Graph structure – Suitable for a large class of tasks – Data merging is easier RDF, SPARQL and Semantic Repositories Aug 2010 #10
  • 11. RDF Schema (RDFS) • RDFS provides means for: – Defining Classes and Properties – Defining hierarchies (of classes and properties) • RDFS differs from XML Schema (XSD) – Open World Assumption vs. Closed World Assumption – RDFS is about describing resources, not about validation • Entailment rules (axioms) – Infer new triples from existing ones RDF, SPARQL and Semantic Repositories Aug 2010 #11
  • 12. RDFS entailment rules RDF, SPARQL and Semantic Repositories Aug 2010 #12
  • 13. RDF entailment rules (2) • Class/Property hierarchies – R5, R7, R9, R11 :human rdfs:subClassOf :mammal . :John a :man . :man rdsf:subClassOf :human .  :John a :human .  :man rdsf:subClassOf :mammal .  :John a :mammal . :hasSpouse rdfs:subPropertyOf :relatedTo . :John :hasSpouse :Merry .  :John :relatedTo :Merry . • Inferring types (domain/range restrictions) – R2, R3 :hasSpouse rdfs:domain :human ; rdfs:range :human . :Adam :hasSpouse :Eve . :Adam a :human . :Eve a :human . RDF, SPARQL and Semantic Repositories Aug 2010 #13
  • 14. RDFS – inferring new triples owl:SymmetricProperty owl:inverseOf inferred rdf:type rdf:type owl:inverseOf owl:relativeOf ptop:parentOf rdfs:subPropertyOf ptop:Agent owl:inverseOf owl:inverseOf ptop:Person rdf:type rdfs:range ptop:childOf myData:Ivan ptop:Woman myData: Maria RDF, SPARQL and Semantic Repositories Aug 2010 #14
  • 15. Web Ontology Language (OWL) • More expressive than RDFS – Identity equivalence/difference • sameAs, differentFrom, equivalentClass/Property • More expressive class definitions – Class intersection, union, complement, disjointness – Cardinality restrictions • More expressive property definitions – Object/Datatype properties – Transitive, functional, symmetric, inverse properties – Value restrictions RDF, SPARQL and Semantic Repositories Aug 2010 #15
  • 16. OWL (2) • What can be done with OWL? – Consistency checks – are there contradictions in the logical model? – Satisfiability checks – are there classes that cannot have any instances? – Classification – what is the type of a particular instance? • OWL sublanguages – OWL Lite – low expressiveness / low computational complexity – OWL DL – high expressiveness / decidable & complete – OWL Full – max expressiveness / no guarantees RDF, SPARQL and Semantic Repositories Aug 2010 #16
  • 17. OWL (3) :Montreal :hasPopulation 1620698 . • Identity equivalence :Montreal = :Montréal .  :Montréal :hasPopulation 1620698 . :locatedIn a owl:TransitiveProperty . :Montreal :locatedIn :Quebec . • Transitive properties :Quebec :locatedIn :Canada .  :Montreal :locatedIn :Canada. :hasSpouse a owl:SymmetricProperty . :John :hasSpouse :Merry . • Symmetric properties  :Merry :hasSpouse :John . :hasParent owl:inverseOf :hasChild . • Inverse properties :John :hasChild :Jane .  :Jane :hasParent :John . :hasSpouse a owl:FunctionalPropety . :Merry :hasSpouse :John . • Functional properties :Merry :hasSpouse :JohnSmith .  :JohnSmith = :John . RDF, SPARQL and Semantic Repositories Aug 2010 #17
  • 18. The cost of “semantic clarity” (c) Mike Bergman RDF, SPARQL and Semantic Repositories Aug 2010 #18
  • 19. OWL sublanguages – OWL Lite • OWL Lite – low expressiveness / low computational complexity – All RDFS features – sameAs/differentFrom, equivalent class/property – inverse/symmetric/transitive/functional properties – property restrictions, cardinality (0 or 1) – class intersection RDF, SPARQL and Semantic Repositories Aug 2010 #19
  • 20. OWL sublanguages – OWL DL & OWL Full • OWL DL – high expressiveness / decidable & complete – All OWL Lite features – Class disjointness – Complex class expressions – Class union & complement • OWL Full – max expressiveness / no guarantees – Same vocabulary as OWL-DL but less restrictions • In OWL DL, a Class cannot also be an Individual or a Property RDF, SPARQL and Semantic Repositories Aug 2010 #20
  • 21. OWL 2 profiles • Goals – sublanguages that trade expressiveness for efficiency of reasoning – Cover important application areas – Easier to understand by non-experts • OWL 2 EL – Best for large ontologies / small instance data (TBox reasoning) – Computationally optimal • Satisfiability checks in PTime RDF, SPARQL and Semantic Repositories Aug 2010 #21
  • 22. OWL 2 profiles (2) • OWL 2 QL – Quite limited expressive power, but very efficient for query answering with large instance data – Can exploit query rewriting techniques • Data storage & query evaluation can be delegated to a RDBMS • OWL 2 RL – Balance between scalable reasoning and expressive power (ABox reasoning) – OWL 2 RL rules can be expressed in RIF BLD RDF, SPARQL and Semantic Repositories Aug 2010 #22
  • 23. OWL 2 profiles (3) (c) Axel Polleres RDF, SPARQL and Semantic Repositories Aug 2010 #23
  • 24. QUERYING RDF DATA WITH SPARQL RDF, SPARQL and Semantic Repositories Aug 2010 #24
  • 25. SPARQL Protocol and RDF Query Language (SPARQL) • SQL-like query language for RDF data • Simple protocol for querying remote databases over HTTP • Query types – select – projections of variables and expressions – construct – create triples (or graphs) based on query results – ask – whether a query returns results (result is true/false) – describe – describe resources in the graph RDF, SPARQL and Semantic Repositories Aug 2010 #25
  • 26. Example - describing resources • Go to www.FactForge.net and execute (in the “SPARQL query” tab): PREFIX dbpedia: <http://dbpedia.org/resource/> DESCRIBE dbpedia:Montreal RDF, SPARQL and Semantic Repositories Aug 2010 #26
  • 27. SPARQL select PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dbpedia: <http://dbpedia.org/resource/> PREFIX dbp-ont: <http://dbpedia.org/ontology/> SELECT DISTINCT ?university ?students WHERE { ?university rdf:type dbpedia:University . ?university dbp-ont:numberOfStudents ?students . ?university dbp-ont:city dbpedia:Montreal . FILTER (?students > 5000) } ORDER BY DESC (?students) RDF, SPARQL and Semantic Repositories Aug 2010 #27
  • 28. Triple patterns • Whitespace separated list of Subject, Predicate, Object – ?x dbp-ont:city dbpedia:Montreal – dbpedia:Concordia_University db-ont:city ?y • Triple patterns with common Subject ?uni rdf:type dbpedia:University . ?uni dbp-ont:city dbpedia:Montreal . ?uni rdf:type dbpedia:University ; dbp-ont:city dbpedia:Montreal . RDF, SPARQL and Semantic Repositories Aug 2010 #28
  • 29. Triple patterns (2) • Triple patterns with common Subject and Predicate ?city rdf:label „Montreal‟@en . ?city rdf:label „Montréal‟@fr . ?city rdf:label „Montreal‟@en ,„Montréal‟@fr . • “a” can be used as an alternative for rdf:type ?uni rdf:type dbpedia:University . ?uni a dbpedia:University . RDF, SPARQL and Semantic Repositories Aug 2010 #29
  • 30. Graph Patterns • Basic Graph Pattern – A conjunction of triple patterns • Group Graph Pattern – A group of 1+ graph patterns – Patterns are enclosed in { } – FILTERs can constrain the whole group { ?uni a dbpedia:University ; dbp-ont:city dbpedia:Montreal ; dbp-ont:numberOfStudents ?students . FILTER (?students > 5000) } RDF, SPARQL and Semantic Repositories Aug 2010 #30
  • 31. Graph Patterns (2) • Optional Graph Pattern – Optional parts of a pattern – pattern OPTIONAL {pattern} SELECT ?uni ?students WHERE { ?uni a dbpedia:University ; dbp-ont:city dbpedia:Montreal . OPTIONAL { ?uni dbp-ont:numberOfStudents ?students } } RDF, SPARQL and Semantic Repositories Aug 2010 #31
  • 32. Graph Patterns (3) • Alternative Graph Pattern – Combine results of several alternative patterns – {pattern} UNION {pattern} SELECT ?uni WHERE { ?uni a dbpedia:University . { { ?uni dbp-ont:city dbpedia:Vancouver } UNION { ?uni dbp-ont:city dbpedia:Montreal } } } RDF, SPARQL and Semantic Repositories Aug 2010 #32
  • 33. Anatomy of a SPARQL query • List of namespace prefixes – PREFIX xyz: <URI> • List of variables – ?x, $y • Graph patterns + filters – Simple / group / alternative / optional • Modifiers – ORDER BY, DISTINCT, OFFSET/LIMIT RDF, SPARQL and Semantic Repositories Aug 2010 #33
  • 34. Anatomy of a SPARQL query (2) SELECT ?var1 ?var2 WHERE { triple-pattern1 . triple-pattern2 . {{triple-pattern3} UNION {triple-pattern4}} OPTIONAL {triple-pattern5} FILTER (filter-expr) } ORDER BY DESC (?var1) LIMIT 100 RDF, SPARQL and Semantic Repositories Aug 2010 #34
  • 35. SPARQL example • List of namespace prefixes • Go to www.FactForge.net (“SPARQL query” tab) • Find all universities (and their number of students) which are located in Quebec • geo-ont:parentFeature, geo-ont:name, geo- ont:alternativeName RDF, SPARQL and Semantic Repositories Aug 2010 #35
  • 36. #36 Aug 2010 RDF, SPARQL and Semantic Repositories PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dbpedia: <http://dbpedia.org/resource/> PREFIX dbp-ont: <http://dbpedia.org/ontology/> PREFIX geo-ont: <http://www.geonames.org/ontology#> SELECT DISTINCT ?university ?city ?students WHERE { ?university rdf:type dbpedia:University ; dbp-ont:city ?city . ?city geo-ont:parentFeature ?province . ?province geo-ont:name “Québec” . OPTIONAL { ?university dbp-ont:numberOfStudents ?students } } ORDER BY ASC (?city) SPARQL example (2)
  • 37. SEMANTIC REPOSITORIES RDF, SPARQL and Semantic Repositories Aug 2010 #37
  • 38. Semantic Repositories • Semantic repositories combine the features of: – Database management systems (DBMS) and – Inference engines • Rapid progress in the last 5 years – Every couple of years the scalability increases by an order of magnitude • “Track-laying machines” for the Semantic Web – Extending the reach of the “data railways” and changing the data-economy by allowing more complex data to be managed at lower cost RDF, SPARQL and Semantic Repositories Aug 2010 #38
  • 39. Semantic Repositories as Track-laying Machines RDF, SPARQL and Semantic Repositories Aug 2010 #39
  • 40. Semantic Repositories as Track-laying Machines (2) RDF, SPARQL and Semantic Repositories Aug 2010 #40
  • 41. Semantic Repositories vs. RDBMS • The major differences with the DBMS are – They use ontologies as semantic schemata, which allows them to automatically reason about the data – They work with a more generic datamodel, which allows them more agile to updates and extensions in the schemata (i.e. in the structure of the data) RDF, SPARQL and Semantic Repositories Aug 2010 #41
  • 42. RDF graph materialisation <C1,rdfs:subClassOf,C2> <C2,rdfs:subClassOf,C3> owl:SymmetricProperty owl:inverseOf  <C1,rdfs:subClassOf,C3> inferred <I,rdf:type,C1> rdf:type owl:inverseOf <C1,rdfs:subClassOf,C2>  <I,rdf:type,C2> ptop:parentOf owl:relativeOf rdfs:subPropertyOf <I1,P1,I2> ptop:Agent <P1,rdfs:range,C2> owl:inverseOf  <I2,rdf:type,C2> owl:inverseOf <P1,owl:inverseOf,P2> <I1,P1,I2> ptop:Person  <I2,P2,I1> rdfs:range <P1,rdf:type,owl:SymmetricProperty> ptop:childOf  <P1,owl:inverseOf,P1> myData:Ivan ptop:Woman myData: Maria RDF, SPARQL and Semantic Repositories Aug 2010 #42
  • 43. Major characteristics • Easy integration of multiple data-sources – Once the schemata of the data-sources is semantically aligned, the inference capabilities of the engine assist the interlinking and combination of facts from different sources • Easy querying against rich or diverse data schemata – Inference is applied to match the semantics of the query to the semantics of the data, regardless of the vocabulary and data modeling patterns used for encoding the data RDF, SPARQL and Semantic Repositories Aug 2010 #43
  • 44. Major characteristics (2) • Great analytical power – Semantics will be thoroughly applied even when this requires recursive inferences on multiple steps – Discover facts, by interlinking long chains of evidence • the vast majority of such facts would remain hidden in the DBMS • Efficient data interoperability – Importing RDF data from one store to another is straight- forward, based on the usage of globally unique identifiers RDF, SPARQL and Semantic Repositories Aug 2010 #44
  • 45. Reasoning Strategies • The strategies for rule-based inference are: – Forward-chaining: start from the known (explicit) facts and perform inference in an inductive manner until the complete closure is inferred – Backward-chaining: to start from a particular fact and to verify it against the knowledge base using deductive reasoning • the reasoner decomposes the query (or the fact) into simpler facts that are available in the KB or can be proven through further recursive decompositions RDF, SPARQL and Semantic Repositories Aug 2010 #45
  • 46. Reasoning Strategies (2) • Inferred closure – the extension of a KB (a graph of RDF triples) with all the implicit facts (triples) that could be inferred from it, based on the pre-defined entailment rules • Materialization – Maintaining an up-to-date inferred closure RDF, SPARQL and Semantic Repositories Aug 2010 #46
  • 47. Pros and cons of forward-chaining based materialization • Relatively slow upload/store/addition of new facts – inferred closure is extended after each transaction • Deletion of facts is slow – facts that are no longer true are removed from the inferred closure • The maintenance of the inferred closure requires considerable resources • Querying and retrieval are fast – no reasoning is required at query time – RDBMS-like query evaluation & optimisation techniques are applicable RDF, SPARQL and Semantic Repositories Aug 2010 #47
  • 48. OWLIM OVERVIEW RDF, SPARQL and Semantic Repositories Aug 2010 #48
  • 49. Semantic Repository for RDFS and OWL • OWLIM is a family of semantic repositories – SwiftOWLIM – fast in-memory operations, scales to ~100M statements – BigOWLIM – optimized for data integration, massive query loads and critical applications, scales up to 20B statements • OWLIM is designed and tuned to provide – Efficient management, integration and analysis of heterogeneous data – Light-weight, high-performance reasoning RDF, SPARQL and Semantic Repositories Aug 2010 #49
  • 50. Naïve OWL Fragments Map Complexity* Expressivity supported by OWLIM OWL Full SWRL OWL DL OWL Lite OWL/WSML Flight Datalog OWL 2 RL OWL Horst / Tiny OWL Lite- / DHL OWL DLP RDFS Rules, LP DL RDF, SPARQL and Semantic Repositories Aug 2010 #50
  • 51. BigOWLIM performance • BigOWLIM is the only engine that can reason with more than 10B statements, on a $10,000 server – It passes LUBM(90000), indexing over 20B explicit and implicit statements and being able to efficiently answer queries – it offers the most efficient query evaluation - the only RDF database for which full-cycle benchmarking results are published for the LUBM(8000) benchmark or higher RDF, SPARQL and Semantic Repositories Aug 2010 #51
  • 52. Key Features • Clustering support brings resilience, failover and horizontally scalable parallel query processing • Optimized owl:sameAs handling • Integrated full-text search • High performance retraction of statements and their inferences • Consistency checking mechanisms • RDF rank for ordering query results by relevance • Notification mechanism, to allow clients to react to updates in the data stream RDF, SPARQL and Semantic Repositories Aug 2010 #52
  • 53. Replication Cluster • Improve scalability with respect to concurrent user requests • How does it work? – Each data write request is multiplexed to all repository instances – Each read request is dispatched to one instance only – To ensure load-balancing, read requests are sent to the instance with the shortest execution queue RDF, SPARQL and Semantic Repositories Aug 2010 #53
  • 54. RDF Rank • BigOWLIM uses a modification of PageRank over RDF graphs • The computation of the RDFRank-s for FactForge (couple of billion statements) takes just a few minutes • Results are available through a system predicate – Example: get the 100 most “important” nodes in the RDF graph SELECT ?node {?node onto:hasRDFRank ?rank} ORDER BY DESC(?rank) LIMIT 100 RDF, SPARQL and Semantic Repositories Aug 2010 #54
  • 55. example • Go to www.FactForge.net ( “SPARQL query” tab) • Find the 10 “most important” universities located in Quebec – geo-ont:parentFeature, geo-ont:name, geo- ont:alternativeName, om:hasRDFRank RDF, SPARQL and Semantic Repositories Aug 2010 #55
  • 56. example (2) PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dbpedia: <http://dbpedia.org/resource/> PREFIX dbp-ont: <http://dbpedia.org/ontology/> PREFIX geo-ont: <http://www.geonames.org/ontology#> PREFIX owlim: <http://www.ontotext.com/owlim/> SELECT DISTINCT ?university ?rank WHERE { ?university rdf:type dbpedia:University ; dbp-ont:city ?city ; owlim:hasRDFRank ?rank . ?city geo-ont:parentFeature ?province . ?province geo-ont:name “Québec” . } ORDER BY DESC (?rank) LIMIT 10 RDF, SPARQL and Semantic Repositories Aug 2010 #56
  • 57. example (3) RDF, SPARQL and Semantic Repositories Aug 2010 #57
  • 58. RDF Search – advanced full-text search in RDF graphs • Objective – Search in an RDF graph by keywords – Get more usable results (standalone literals are not useful in most cases) • What to index: – URIs – The RDF molecule for an URI • the description of the node, including all outgoing statements • Results returned – List of URIs, ranked by FTS + RDF Rank metric RDF, SPARQL and Semantic Repositories Aug 2010 #58
  • 59. RDF Search (2) • The ranking is based on the standard vector-space- model relevance, boosted by RDF Rank PREFIX gossip: <http://www.....gossipdb.owl#> PREFIX onto: <http://www.ontotext.com/> SELECT * WHERE { ?person gossip:name ?name . ?name onto:luceneQuery "American AND life~". } RDF, SPARQL and Semantic Repositories Aug 2010 #59
  • 60. owl:sameAs optimisation • owl:sameAs declares that two different URIs denote one and the same resource or object in the world – it is used to align different identifiers of the same real- world entity used in different data sources • Example: five different URIs for Montreal in four different datasets dbpedia:Montreal owl:sameAs geonames:6077244 dbpedia:Montreal owl:sameAs geonames:6077243 geonames:6077243 owl:sameAs fbase:guid.9202a8c04000641f8000000000028aa7 fbase:guid.9202a8c04000641f8000000000028aa7 owl:sameAs nytimes:N59179828586486930801 RDF, SPARQL and Semantic Repositories Aug 2010 #60
  • 61. owl:sameAs optimisation (2) • According to the standard semantics of owl:sameAs: – It is a transitive and symmetric relationship – Statements, asserted using one of the equivalent URIs should be inferred to appear with all equivalent URIs placed in the same position – Thus the four statements in the previous example lead to ten inferred statements RDF, SPARQL and Semantic Repositories Aug 2010 #61
  • 62. owl:sameAs optimisation (3) dbpedia:Montreal owl:sameAs geonames:6077244 dbpedia:Montreal owl:sameAs geonames:6077243 dbpedia:Montreal owl:sameAs fbase:guid.9202a8c04000641f8000000000028aa7 dbpedia:Montreal owl:sameAs nytimes:N59179828586486930801 fbase:guid.9202a8c04000641f8000000000028aa7 owl:sameAs geonames:6077244 fbase:guid.9202a8c04000641f8000000000028aa7 owl:sameAs geonames:6077243 fbase:guid.9202a8c04000641f8000000000028aa7 owl:sameAs nytimes:N59179828586486930801 nytimes:N59179828586486930801 owl:sameAs geonames:6077244 nytimes:N59179828586486930801 owl:sameAs geonames:6077243 geonames:6077244 owl:sameAs geonames:6077243 RDF, SPARQL and Semantic Repositories Aug 2010 #62
  • 63. owl:sameAs optimisation (4) • BigOWLIM features an optimisation that allows it to use a single master-node in its indices to represent a class of sameAs-equivalent URIs • Avoids inflating the indices with multiple equivalent statements • Optionally expands query results – The owl:sameAs equivalence leads to multiplication of the bindings of the variables in the process of query evaluation (both forward- and backward-chaining) RDF, SPARQL and Semantic Repositories Aug 2010 #63
  • 64. BENCHMARKING TRIPLESTORES RDF, SPARQL and Semantic Repositories Aug 2010 #64
  • 65. Tasks to be benchmarked • Data loading – parsing, persistence, and indexing • Query evaluation – query preparation and optimization, fetching • Data modification – May involve changes to the ontologies and schemata • Inference is not a first-level activity – Depending on the implementation, it can affect the performance of the other activities RDF, SPARQL and Semantic Repositories Aug 2010 #65
  • 66. Performance factors for data loading • Materialization – Whether forward-chaining is performed at load time & the complexity of forward-chaining • Data model complexity – Support for extended RDF data models (e.g. named graphs), is computationally more expensive • Indexing specifics – Repositories can apply different indexing strategies depending on the data loaded, usage patterns, etc. • Transaction Isolation RDF, SPARQL and Semantic Repositories Aug 2010 #66
  • 67. Performance factors for query evaluation • Deduction – Whether and how complex backward-chaining is involved • Size of the result-set – Fetching large result-sets can take considerable time • Query complexity – Number of constraints (e.g. triple-pattern joins) – Semantics of the query (e.g. negation- and disjunction- related clauses) – Use of operators that cannot be optimized (e.g. LIKE) • Number of concurrent clients RDF, SPARQL and Semantic Repositories Aug 2010 #67
  • 68. Performance dimensions • Scale – The size of the repository (number of triples) • Schema and data complexity – The complexity of the ontology/logical language – The specific ontology (or schema) and dataset • E.g. a highly interconnected dataset, with long chains of transitive properties, can appear quite challenging for reasoning – Sparse versus dense datasets – Presence and size of literals – Number of predicates used – Use of owl:sameAs RDF, SPARQL and Semantic Repositories Aug 2010 #68
  • 69. Scalability metrics • Number of inserted statements (NIS) • Number of stored statements (NSS) – How many statements have been stored and indexed? – Duplicates can make NSS smaller than NIS – For engines using forward-chaining and materialization, the volume of data to be indexed includes the inferred triples • Number of retrievable statements (NRS) – How many different statements can be retrieved? – This number can be different from NSS when the repository supports some sort of backward-chaining RDF, SPARQL and Semantic Repositories Aug 2010 #69
  • 70. Full-cycle benchmarking • We call full-cycle benchmarking any methodology that provides a complete picture of the performance with respect to the full “life cycle” of the data within the engine – publication of data for both loading and query evaluation performance in the framework of a single experiment or benchmark run – Full-cycle benchmarking requires load performance data to be matched with query evaluation performance • “5 billion triples of LUBM were loaded in 30 hours” • “… and the evaluation of the 14 queries took 1 hour on a warm database.” RDF, SPARQL and Semantic Repositories Aug 2010 #70
  • 71. Full-cycle benchmarking (2) • Typical set of activities to be covered: 1. Loading input RDF files from the storage system 2. Parsing the RDF files 3. Indexing and storing the triples 4. Forward-chaining and materialization (optional) 5. Query parsing 6. Query optimization • Query re-writing (optional) 7. Query evaluation, involving • Backward-chaining (optional) • Fetching the results RDF, SPARQL and Semantic Repositories Aug 2010 #71
  • 72. Scalable Inference Map (Sep’07) 50 Buble size indicates inference complexity 45 40 RDFS Loading Speed ( 1000 st./sec) 35 30 25 20 15 10 OWL-Max 5 (OWLIM) 0 LUBM(1000) Uniprot LUBM(8000) 0 200 400 600 800 1,000 1,200 Dataset size (mill. explicit statements) BigOWLIM 0.9.6 AllegroGraph 2.2.1 Openlink Virtuoso v.5.0 RDF, SPARQL and Semantic Repositories Aug 2010 #72
  • 73. Scalable Inference Map (Nov’07) 50 Bubble size indicates 45 loading complexity RDFS Loading Speed ( 1000 st./sec) 40 35 30 25 20 15 10 OWL-Max 5 (OWLIM) 0 LUBM(1000) Uniprot LUBM(8000) 0 200 400 600 800 1,000 1,200 Dataset size (mill. explicit statements) BigOWLIM 0.9.6 AllegroGraph 2.2 Openlink Virtuoso v.4.5 ORACLE 11g DAML DB RDF, SPARQL and Semantic Repositories Aug 2010 #73
  • 74. Scalable Inference Map (Oct’08) 60 Bubble size indicates loading complexity Loading Speed ( 1000 st./sec, higher is better) 50 (bigger is better) 40 30 20 RDFS 10 OWL Horst 0 LUBM PIKB LUBM(8000) UniProt LUBM(20000) 0 (1000) 500 1,000 1,500 2,000 2,500 3,000 Dataset size (mill. explicit statements) AllegroGraph BigOWLIM DAML DB Jena TDB ORACLE Virtuoso RDF, SPARQL and Semantic Repositories Aug 2010 #74
  • 75. Scalable Inference Map (Jun’09) Bubble size indicates 140 loading complexity Loading Speed ( 1000 st./sec, higher is better) cluster of 14 (bigger is better) 120 8-core blades sub-$10,000 8-core server 100 80 sub-$2000 4-core desktop 60 sub-$10,000 8-core server 40 20 0 0 5 10 15 20 Dataset size (bill. explicit statements) BigOWLIM AllegroGraph Virtuoso Jena TDB BigData ORACLE RDF, SPARQL and Semantic Repositories Aug 2010 #75
  • 76. DISTRIBUTED APPROACHES TO RDF MATERIALISATION RDF, SPARQL and Semantic Repositories Aug 2010 #76
  • 77. Distributed RDF materialisation with MapReduce • Distributed approach by Urbani et al., ISWC’2009 – “Scalable Distributed Reasoning using MapReduce” • 64 node Hadoop cluster • MapReduce – Map phase – partitions the input space by some key – Reduce phase – perform some aggregated processing on each partition (from the Map phase) • The partition contains all elements for a particular key • Skewed key distribution leads to uneven load on Reduce nodes • Balanced Reduce load almost impossible to achieve (major M/R drawback) RDF, SPARQL and Semantic Repositories Aug 2010 #77
  • 78. Distributed RDF materialisation with MapReduce (2) (c) Urbani et al. RDF, SPARQL and Semantic Repositories Aug 2010 #78
  • 79. RDFS entailment rules (reminder) RDF, SPARQL and Semantic Repositories Aug 2010 #79
  • 80. RDF materialisation with MapReduce – “naïve” approach • applying all RDFS rules iteratively on the input until no new data is derived (fixpoint) – rules with one antecedent are easy – rules with 2 antecedents require a join • Map function – Key is S, P or O, value is original triple – 3 key/value pairs generated for each input triple • Reduce function – performs the join RDF, SPARQL and Semantic Repositories #80 Aug 2010(c) Urbani et al.
  • 81. RDF materialisation with MapReduce – optimised approach • Problems with the “naïve” approach – One iteration is not enough – Too many duplicates generated • Ratio of unique:duplicate triples is around 1:50 • Optimised approach – Load schema triples in memory (0.001-0.01% of triples) • On each node joins are made between a very small set of schema triples and a large set of instance triples • Only the instance triples are streamed by the MapReduce pipeline RDF, SPARQL and Semantic Repositories Aug 2010 #81
  • 82. RDF materialisation with MapReduce – optimised approach (2) • Data grouping to avoid duplicates – Map phase: set as key those parts of the input (S/P/O) that are also used in the derived triple. All triples that produce the same triple will be sent to the same Reducer – Join schema triples during the Reduce phase to reduce duplicates • Ordering the sequence of rule application – Analyse the ruleset and determine which rules may triggered other rules – Dependency graph, optimal application of rules from bottom-up RDF, SPARQL and Semantic Repositories Aug 2010 #82
  • 83. RDF materialisation with MapReduce – rule reordering (c) Urbani et al. RDF, SPARQL and Semantic Repositories Aug 2010 #83
  • 84. RDF materialisation with MapReduce – benchmarks • Performance benchmarks • 4.3 million triples / sec (30 billion in ~2h) (c) Urbani et al. RDF, SPARQL and Semantic Repositories Aug 2010 #84
  • 85. FROM RDBMS TO RDF RDF, SPARQL and Semantic Repositories Aug 2010 #85
  • 86. RDB2RDF • RDB2RDF working group @ W3C – http://www.w3.org/2001/sw/rdb2rdf/ – standardize a language (R2RML) for mapping relational data / database schemas into RDF / OWL • Existing RDF-izers – Triplify, D2RQ, RDF Views RDF, SPARQL and Semantic Repositories Aug 2010 #86
  • 87. RDB2RDF – table-to-class mapping approach • Each RDBMS table is a RDF class • Each RDBMS record is a RDF node • Each PK value value is a RDF Subject URI • Each non-PK column name in a RDB table is a RDF Predicate • Each RDBMS table cell value (non-PK) is a RDF Object RDF, SPARQL and Semantic Repositories Aug 2010 #87
  • 88. RDB2RDF mapping example RDF, SPARQL and Semantic Repositories Aug 2010 #88 (c) RDB2RDF @ W3C.
  • 89. OTHER RDF TOOLS RDF, SPARQL and Semantic Repositories Aug 2010 #89
  • 90. Ontology editors • TopBraid Composer – http://www.topquadrant.com RDF, SPARQL and Semantic Repositories Aug 2010 #90
  • 91. Ontology editors (2) • Altova SemanticWorks – http://www.altova.com/semanticworks.html RDF, SPARQL and Semantic Repositories Aug 2010 #91
  • 92. Ontology editors (3) • Protégé – http://protege.stanford.edu – http://webprotege.stanford.edu RDF, SPARQL and Semantic Repositories Aug 2010 #92
  • 93. RDF-izers • Triplify – http://triplify.org – Transform relational data into RDF / Linked Data • D2RQ platform – http://www4.wiwiss.fu-berlin.de/bizer/d2rq/index.htm – D2RQ mapping language – D2RQ plugin for Sesame/Jena – D2R server – Linked Data & SPARQL endpoint RDF, SPARQL and Semantic Repositories Aug 2010 #93
  • 94. RDF APIs • Jena – http://jena.sourceforge.net – RDF/OWL API (Java) – In-memory or persistent storage – SPARQL query engine • OpenRDF (Sesame) – http://www.openrdf.org – RDF API (Java), high performance parser – Persistent storage – SPARQL query engine RDF, SPARQL and Semantic Repositories Aug 2010 #94
  • 95. Sesame API • Architecture – RDF Model – RDF I/O (parsers & serializars) – Storage & Inference Layer (for reasoners & databases) – High-level Repository API – HTTP & REST service frontend (c) OpenRDF.org RDF, SPARQL and Semantic Repositories Aug 2010 #95
  • 96. Sesame API (2) • RDF model – Create statements, get S/P/O • SAIL API – Initialise, shut-down repositories – Add/remove/iterate statements – Queries • Repository API – Create a repository (in-memory, filesystem), connect – Add, retrieve, remove triples – Queries RDF, SPARQL and Semantic Repositories Aug 2010 #96
  • 97. Sesame API – REST interface resource GET POST PUT DELETE /repositories List available - - - repositories /repositories/ID query Query - - evaluation evaluation • query text • Bindings • Inference /repositories/ID/statements Get Adds/updates Modifies existing Deletes statements statements statements statements in repository • S, P, O • S, P, O • inference /repositories/ID/namesapces List - - Deletes all Namespace namespace definitions definitions /repositories/ID/namesapces/PREF Gets the - Defines/updates Removes a namespace the namespace for namespace for a prefix a prefix declaration RDF, SPARQL and Semantic Repositories Aug 2010 #97
  • 98. Sesame API – OpenRDF Workbench RDF, SPARQL and Semantic Repositories Aug 2010 #98
  • 99. Summary of this module • Benefits of using RDF – Simple data model, global identifiers, schema agility, incremental data integration • RDFS/OWL entailment rules make it possible to infer new triples (knowledge) from existing ones • OWL language – Identity equivalence, class intersection / union / complement, cardinality restrictions, object / datatype properties, transitive / symmetric / inverse / functional properties RDF, SPARQL and Semantic Repositories Aug 2010 #99
  • 100. Summary of this module (2) • OWL languages and profiles – OWL Lite, OWL DL, OWL Full – OWL 2 EL, OWL 2 QL, OWL 2 RL • SPARQL is a SQL-like language for querying RDF data • Semantic repositories combine features of DBMS and logic inference engines • Forward chaining vs. Backward chaining stategies • OWLIM features – Massively scalable, replication cluster, owl:sameAs optimisation, RDF search, RDF Rank RDF, SPARQL and Semantic Repositories Aug 2010 #100
  • 101. Summary of this module (3) • Benchmarking – Performance factors and dimensions • MapReduce can be used for massively distributed RDF materialisation • RDBMS-to-RDF mapping approaches and tools • RDF tools – Ontlogy editors, RDF-izers, RDF APIs RDF, SPARQL and Semantic Repositories Aug 2010 #101