SlideShare a Scribd company logo
1 of 52
Download to read offline
Programming with LOD

                                    Fumihiro Kato
       Research Organization of Information and Systems
           Transdisciplinary Research Integration Center
                         National Institute of Informatics




               1
Linked Data Principles
1. Use URIs as names for things
2. Use HTTP URIs so that people can look up
   those names.
3. When someone looks up a URI, provide
   useful information, using the standards
   (RDF, SPARQL)
4. Include links to other URIs, so that they can
   discover more things.

                       2
http://dbpedia.org/resource/South_Korea
3
1. request /resource/South_Korea




              2. return an HTML document for /resource/South_Korea


Web Browser                                                          http://dbpedia.org




                                      4
1. request /resource/South_Korea




             2. return an RDF document for /resource/South_Korea


LOD Agent                                                                                                                    http://dbpedia.org
            @prefix dbpedia-owl: <http://dbpedia.org/ontology/> .
            @prefix dbpedia:      <http://dbpedia.org/resource/> .
            dbpedia:Seoul dbpedia-owl:country dbpedia:South_Korea .
            dbpedia:JnC dbpedia-owl:hometown dbpedia:South_Korea .
            @prefix dbpprop:       <http://dbpedia.org/property/> .
            dbpedia:JnC dbpprop:origin dbpedia:South_Korea .
            dbpedia:Lee_Jae_Jin dbpedia-owl:hometown dbpedia:South_Korea ;
                dbpprop:origin dbpedia:South_Korea .
            dbpedia:Kang_Sung_Hoon dbpedia-owl:hometown dbpedia:South_Korea ;
                dbpprop:origin dbpedia:South_Korea .
            dbpedia:Northern_Asia-Pacific_Division_of_Seventh-day_Adventists     dbpedia-owl:location dbpedia:South_Korea ;
                dbpedia-owl:regionServed        dbpedia:South_Korea ;
                dbpprop:location       dbpedia:South_Korea .
            dbpedia:Korean_Amateur_Radio_League dbpedia-owl:regionServed          dbpedia:South_Korea ;
                dbpprop:regionServed dbpedia:South_Korea .
            dbpedia:Asia-Pacific_Association_for_International_Education dbpprop:headquarters dbpedia:South_Korea ;
                dbpedia-owl:headquarter dbpedia:South_Korea .
            dbpedia:The_Korean_Chemical_Society dbpedia-owl:location dbpedia:South_Korea ;
                dbpprop:location       dbpedia:South_Korea .
            dbpedia:Korean_e-Sports_Association dbpedia-owl:regionServed       dbpedia:South_Korea .
            dbpedia:Miss_Asia_Pacific_World dbpprop:headquarters dbpedia:South_Korea ;
                dbpedia-owl:headquarter dbpedia:South_Korea .
            dbpedia:Daegu_Stadium dbpedia-owl:location dbpedia:South_Korea .
            dbpedia:Chuncheon_Civic_Stadium dbpedia-owl:location dbpedia:South_Korea .


                                                                 5
RDF Libraries
• Java: Jena, Sesame                • Python: rdflib
• C: Redland                        • Perl: PerlRDF
• C#: dotNetRDF                     • JavaScript: rdfQuery,
• Ruby: RDF.rb                             rdfstore-js

• PHP: ARC2,                        • ....
   Graphite
See http://www.w3.org/2001/sw/wiki/Tools

                                   6
RDF.rb

• http://rdf.rubyforge.org
• http://github.com/ruby-rdf
• $ gem install linkeddata equivalent-xml

                      7
Reading RDF
 1   #!/usr/bin/env ruby
 2   # -*- coding: utf-8 -*-
 3
 4   require 'linkeddata'
 5
 6   RDF::Reader.open("http://dbpedia.org/resource/South_Korea") do |reader|
 7     reader.each do |statement|
 8       puts statement.inspect
 9     end
10   end




                                       8
Reading RDF
              1     #!/usr/bin/env ruby
              2     # -*- coding: utf-8 -*-
              3
              4     require 'linkeddata'
              5
              6     RDF::Reader.open("http://dbpedia.org/resource/South_Korea") do |reader|
              7       reader.each do |statement|
              8         puts statement.inspect
              9       end
             10     end
.......
#<RDF::Statement:0x3fd362ca7338(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/areaTotal> 100209.22997701018 .)>
#<RDF::Statement:0x3fd362ca7338(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/areaTotal> 100209.22997701018 .)>
#<RDF::Statement:0x3fd362cabd70(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/areaTotal> 100210.0 .)>
#<RDF::Statement:0x3fd362cabd70(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/areaTotal> 100210.0 .)>
#<RDF::Statement:0x3fd3623772cc(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/populationDensity> 491.0 .)>
#<RDF::Statement:0x3fd3623772cc(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/populationDensity> 491.0 .)>
#<RDF::Statement:0x3fd362c797bc(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/populationDensity> 490.73584350744875 .)>
#<RDF::Statement:0x3fd362c797bc(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/populationDensity> 490.73584350744875 .)>
#<RDF::Statement:0x3fd362c59c28(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/abstract> Corea del Sud, of icialment la República de Corea) és un país de l'Àsia que ocupa la
regió meridional de la península de Corea. Al nord, limita amb Corea del Nord, al qual estava unit fins el 1945. A l'oest, creuant la mar Groga, es troba la República Popular de Xina, i a l'est
, creuant l'Estret de Corea, es troba el Japó. La capital i la ciutat més gran n'és Seül, l'àrea metropolitana de la qual és una de les tres més poblades del món. La llengua oficial de Corea del Sud és el coreà, i és,
actualment, la desena llengua més parlada del món. El nom del país, en coreà, significa "La Gran Nació del Poble Coreà", hom es refereix al país sovint com la "Terra de la Calma del Matí". llegendari Dangun
Kanggeom. L'evidència arqueològica suggereix que els coreans han habitat la península des del Paleolític Baix. Després de la unificació dels Tres Regnes Coreans sota el comandament de Silla el 668 dC, Corea
va romandre com a nació unificada sota les dinasties de Goryeao i Joseaon fins la caiguda de l'Imperi Coreà el 1910. Després de la divisió i de l'establiment de la república moderna de Corea del Sud, el país ha
tingut que reconstruir-se després del període d'explotació japonesa i de la Guerra de Corea. No obstant això, l'estàndard de vida, així com l'economia, van créixer de manera sorprenent des de la dècada de
1980. El 1987, després de diverses manifestacions nacionals, el govern autoritari es va col·lapsar, i des de llavors, s'hi han celebrat eleccions democràtiques cada cinc anys. Avui dia, Corea del Sur és un dels
Estats pioners de la democràcia a Àsia; els ciutadans coreans gaudeixen d'un dels nivells més alts de
......

                                                                                                           9
Accessing statements

 1   #!/usr/bin/env ruby
 2   # -*- coding: utf-8 -*-
 3
 4   require 'linkeddata'
 5
 6   RDF::Reader.open("http://dbpedia.org/resource/Korea") do |reader|
 7     reader.each do |statement|
 8       puts "s: #{statement.subject}, p: #{statement.predicate}, o: #{statement.object}"
 9     end
10   end




                                             10
RDF Serialization


• N-Triples          • RDFa
• RDF/XML            • JSON-LD
• Turtle (N3)        • RDF/JSON
• TriX               • ...
                11
Reading text/n3

 1   #!/usr/bin/env ruby
 2   # -*- coding: utf-8 -*-
 3
 4   require 'linkeddata'
 5
 6   RDF::Reader.open("http://dbpedia.org/data/South_Korea.n3", :format => "n3") do |reader|
 7     reader.each do |statement|
 8       puts statement.inspect!
 9     end
10   end




                                              12
Writing RDF

 1   #!/usr/bin/env ruby
 2   # -*- coding: utf-8 -*-
 3
 4   require 'linkeddata'
 5
 6   RDF::Writer.open("writing.ttl") do |writer|
 7     subject = RDF::URI("http://dbpedia.org/resource/South_Korea")
 8     predicate = RDF::RDFS.label
 9     object = RDF::Literal("韓国", :language => :ja)
10   writer << RDF::Steatement.new(subject, predicate, object)
11 end




                                  13
Loading and Merging RDF

 1   #!/usr/bin/env ruby
 2   # -*- coding: utf-8 -*-
 3
 4   require 'linkeddata'
 5
 6   graph = RDF::Graph.new
 7   graph.load("http://dbpedia.org/resource/South_Korea")
 8   puts graph.size
 9   graph.load("http://dbpedia.org/resource/Daejeon")
10   puts graph.size




                                      14
Querying RDF
 1   #!/usr/bin/env ruby
 2   # -*- coding: utf-8 -*-
 3
 4   require 'linkeddata'
 5
 6   graph = RDF::Graph.new
 7   graph.load("http://dbpedia.org/resource/Daejeon")
 8   graph.query([RDF::URI("http://dbpedia.org/resource/Daejeon"),
 9                RDF::URI("http://dbpedia.org/ontology/country"),
10                nil]).each do |statement|
11     puts statement.object
12   end


                                                    dbpedia:South_Korea
                       dbpedia-owl:country


                                               rdf:type
                                                                          dbpedia-owl:City
            dbpedia:Daejeon
                                                      geo:lat

                              rdfs:label
                                                                    36.350101

                                             Daejeon
                                                          15
Defining a vocabulary
 1   #!/usr/bin/env ruby
 2   # -*- coding: utf-8 -*-
 3
 4   require 'linkeddata'
 5
 6   DBP = RDF::Vocabulary.new("http://dbpedia.org/resource/")
 7   DBP_ONT = RDF::Vocabulary.new("http://dbpedia.org/ontology/")
 8
 9   graph = RDF::Graph.new
10   graph.load(DBP.Daejeon)
11   graph.query([DBP.Daejeon, DBP_ONT.country, nil]).each do |statement|
12     puts statement.object
13   end

                                                  dbpedia-owl:South_Korea

                       dbpedia-owl:country


                                               rdf:type
                                                                            dbpedia-owl:City
            dbpedia:Daejeon
                                                      geo:lat

                              rdfs:label
                                                                    36.350101

                                             Daejeon
                                                          16
Query        SQL                 SPARQL



 DB          RDB                RDF Store



Model   Relational Model        RDF Model



                           17
SPARQL
•   SPARQL Protocol and RDF Query Language

    • W3C Standards
    • SQL-like syntax
    • Graph Patterns
    • Result Formats: XML, JSON, (CSV, TSV)
• $ gem install sparql
                         18
Using SPARQL in RDF.rb
 1   #!/usr/bin/env ruby
 2   # -*- coding: utf-8 -*-
 3
 4   require 'linkeddata'
 5
 6   graph = RDF::Graph.new
 7   graph.load("http://dbpedia.org/resource/Daejeon")
 8
 9   sse = SPARQL.parse("""SELECT ?o
10   WHERE {
11     <http://dbpedia.org/resource/Daejeon> <http://dbpedia.org/ontology/country> ?o .
12   }""")
13
14   sse.execute(graph).each do |solution|
15     puts solution[:o]
16   end




                                             19
Querying a SPARQL Endpoint

 1   #!/usr/bin/env ruby
 2   # -*- coding: utf-8 -*-
 3
 4   require 'linkeddata'
 5
 6   client = SPARQL::Client.new("http://dbpedia.org/sparql")
 7
 8   query = """SELECT ?o
 9   WHERE {
10     <http://dbpedia.org/resource/Daejeon> <http://dbpedia.org/ontology/country> ?o .
11   }"""
12
13   client.query(query).each do |solution|
14     puts solution[:o]
15   end




                                              20
dbpedia-owl:Country




                                                                                         rdf:type
                                                                                                                rdfs:label
dbpedia-owl:City              dbpedia-owl:capital                                      dbpedia:South_Korea                   South Korea

                   rdf:type
                                                         dbpedia-owl:coutnry
                                                                                                                     dbpedia-owl:Company
                dbpedia:Seoul                                           dbpedia-owl:location         rdf:type
                                            dbpedia-owl:location

   rdfs:label                                                       dbpedia:Samsung_Electronics          dbpedia-owl:owner
                              owl:sameAs
                                             dbpprop:foundingYear
                                                                                                                     dbpedia-owl:Lee_Kun-hee
                                                    1969-01-01
       Seoul                                                              rdfs:label
                         freebase:Seoul                                                    foaf:homepage
                                                                 삼성전자            rdfs:label
                                                                                                      http://global.samsungtomorrow.com/

                                                                           Samsung Electronics




                                                                   21
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?location ?label
WHERE {
  dbpedia:Samsung_Electronics dbpedia-owl:location ?location .
  ?location rdfs:label ?label .
}                                             dbpedia-owl:Country




                                                                                         rdf:type
                                                                                                                rdfs:label
dbpedia-owl:City              dbpedia-owl:capital                                      dbpedia:South_Korea                   South Korea

                   rdf:type
                                                         dbpedia-owl:coutnry
                                                                                                                     dbpedia-owl:Company
                dbpedia:Seoul                                           dbpedia-owl:location         rdf:type
                                            dbpedia-owl:location

   rdfs:label                                                       dbpedia:Samsung_Electronics          dbpedia-owl:owner
                              owl:sameAs
                                             dbpprop:foundingYear
                                                                                                                     dbpedia-owl:Lee_Kun-hee
                                                    1969-01-01
       Seoul                                                              rdfs:label
                         freebase:Seoul                                                    foaf:homepage
                                                                 삼성전자            rdfs:label
                                                                                                      http://global.samsungtomorrow.com/

                                                                           Samsung Electronics

                                                                   22
23
24
Querying a SPARQL Endpoint
 1   #!/usr/bin/env ruby
 2   # -*- coding: utf-8 -*-
 3
 4   require 'linkeddata'
 5
 6   client = SPARQL::Client.new("http://dbpedia.org/sparql")
 7
 8   query = """PREFIX dbpedia: <http://dbpedia.org/resource/>
 9   PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
10   PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
11
12   SELECT ?location ?label
13   WHERE {
14     dbpedia:Samsung_Electronics dbpedia-owl:location ?location .
15     ?location rdfs:label ?label .
16   }"""
17
18   client.query(query).each do |solution|
19     puts solution.inspect
20   end




                                              25
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?location ?label
WHERE {
  dbpedia:Samsung_Electronics dbpedia-owl:location ?location .
  ?location a dbpedia-owl:City ;
     rdfs:label ?label .
}                                             dbpedia-owl:Country




                                                                                         rdf:type
                                                                                                                rdfs:label
dbpedia-owl:City              dbpedia-owl:capital                                      dbpedia:South_Korea                   South Korea

                   rdf:type
                                                         dbpedia-owl:coutnry
                                                                                                                     dbpedia-owl:Company
                dbpedia:Seoul                                           dbpedia-owl:location         rdf:type
                                            dbpedia-owl:location

   rdfs:label                                                       dbpedia:Samsung_Electronics          dbpedia-owl:owner
                              owl:sameAs
                                             dbpprop:foundingYear
                                                                                                                     dbpedia-owl:Lee_Kun-hee
                                                    1969-01-01
       Seoul                                                              rdfs:label
                         freebase:Seoul                                                    foaf:homepage
                                                                 삼성전자            rdfs:label
                                                                                                      http://global.samsungtomorrow.com/

                                                                           Samsung Electronics

                                                                   26
27
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?location ?label
WHERE {
  dbpedia:Samsung_Electronics dbpedia-owl:location ?location .
  ?location a dbpedia-owl:City ;
     rdfs:label ?label .
  FILTER(lang(?label) = ‘ko’)                 dbpedia-owl:Country

}
                                                                                         rdf:type
                                                                                                                rdfs:label
dbpedia-owl:City              dbpedia-owl:capital                                      dbpedia:South_Korea                   South Korea

                   rdf:type
                                                         dbpedia-owl:coutnry
                                                                                                                     dbpedia-owl:Company
                dbpedia:Seoul                                           dbpedia-owl:location         rdf:type
                                            dbpedia-owl:location

   rdfs:label                                                       dbpedia:Samsung_Electronics          dbpedia-owl:owner
                              owl:sameAs
                                             dbpprop:foundingYear
                                                                                                                     dbpedia-owl:Lee_Kun-hee
                                                    1969-01-01
       Seoul                                                              rdfs:label
                         freebase:Seoul                                                    foaf:homepage
                                                                 삼성전자            rdfs:label
                                                                                                      http://global.samsungtomorrow.com/

                                                                           Samsung Electronics

                                                                   28
29
SPARQL 1.0

• CRUD
 • SELECT
 • ASK
 • CONSTRUCT
 • DESCRIBE
               30
SELECT
クエリパターン変数の値を取得


SELECT *
WHERE {
  ?s ?p ?o .
}
LIMIT 100
OFFSET 100




               31
ASK

PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>

ASK WHERE {
  dbpedia:Daejeon ?p ?o .
}




                            32
CONSTRUCT

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

CONSTRUCT {
  ?s rdfs:label ?name .
}
WHERE {
  ?s foaf:name ?name .
}




                          33
DESCRIBE


DESCRIBE <http://dbpedia.org/resource/Tokyo>




                          34
•        http://www.w3.org/wiki/SparqlEndpoints




                                http://www.w3.org/wiki/SparqlEndpoints
                                 http://www.w3.org/wiki/SparqlEndpoints
    35
•        http://www.w3.org/wiki/SparqlEndpoints




                                  http://www.w3.org/wiki/SparqlEndpoints
    36                        http://labs.mondeca.com/sparqlEndpointsStatus/
http://thedatahub.org/group/lodcloud
     http://ckan.net/package?res_format=api%2Fsparql
37
38   http://lod.ac/apps/lodac_location/
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

SELECT DISTINCT ?link ?title ?lat ?long
WHERE {
  ?link rdfs:label ?title; geo:lat ?lat; geo:long ?long .
  FILTER (
    ?lat > #{sw_lat} && ?lat < #{ne_lat} &&
    ?long > #{sw_long} && ?long < #{ne_long} &&
    lang(?title) = "ja"
  )
}




                                        39
Query        SQL                 SPARQL



 DB          RDB                RDF Store



Model   Relational Model        RDF Model



                           40
RDF Store
•   Triplestore /
    Quadstore / Graph DB
•   SPARQL Endpoint
•   Options                                  Bigdata®


    •   RDFS/OWL Inference
    •   Full text indexing
    •   Clustering
•   See http://en.wikipedia.org/wiki/
    Triplestore
                                        41
http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/
42
Virtuoso Open Source
• http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/
• install binary
• install from source
   $ tar xvzf virtuoso-opensource-6.1.6.tar.gz

   $ cd virtuoso-opensource-6.1.6

   $ ./configure

   $ make

   $ make install

   $ /usr/local/virtuoso-opensource/bin/virtuoso-t +configfile /usr/local/virtuoso-
   opensource/var/lib/virtuoso/db/virtuoso.ini
                                       43
http://localhost:8890/conductor/


44
http://localhost:8890/conductor/


45
46
47
http://localhost:8890/sparql
48
Storage Adapter
•   Memory
•   Sesame
•   Virtuoso
•   DataObjects (SQLite3, PostgreSQL)
•   RedStore
•   4Store
•   MongoDB
•   Cassandra
•   Talis
•   SPARQL


                                49
Virtuoso Adapter
       $ gem install rdf-virtuoso
 1   #!/usr/bin/env ruby
 2   # -*- coding: utf-8 -*-
 3
 4   require 'linkeddata'
 5   require 'rdf/virtuoso'
 6
 7   REPO_URI = "http://localhost:8890"
 8   USER = "dba"
 9   PASS = "dba" # this should be changed
10   DBP = RDF::Vocabulary.new("http://dbpedia.org/resource/")
11
12   repo = RDF::Virtuoso::Repository.new(REPO_URI, :username => USER,
13                                       :password => PASS, :auth_method => 'digest')
14   query = RDF::Virtuoso::Query.select.where([:s, :p, DBP.South_Korea])
15   result = repo.select(query)
16
17   result.each do |solution|
18     puts solution.inspect
19   end


                                            50
Summary

• how to consume LOD
 • RDF
 • SPARQL

                 51
twitter: fumi1
     fumi@nii.ac.jp
52

More Related Content

What's hot

Rdf Overview Presentation
Rdf Overview PresentationRdf Overview Presentation
Rdf Overview PresentationKen Varnum
 
Poster - Completeness Statements about RDF Data Sources and Their Use for Qu...
Poster - Completeness Statements about RDF Data Sources and Their Use for Qu...Poster - Completeness Statements about RDF Data Sources and Their Use for Qu...
Poster - Completeness Statements about RDF Data Sources and Their Use for Qu...Fariz Darari
 
OWL: Yet to arrive on the Web of Data?
OWL: Yet to arrive on the Web of Data?OWL: Yet to arrive on the Web of Data?
OWL: Yet to arrive on the Web of Data?Aidan Hogan
 
Ruby semweb 2011-12-06
Ruby semweb 2011-12-06Ruby semweb 2011-12-06
Ruby semweb 2011-12-06Gregg Kellogg
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDFNarni Rajesh
 
RDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaRDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaPlatypus
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic  Web and Linked DataAn introduction to Semantic  Web and Linked Data
An introduction to Semantic Web and Linked DataGabriela Agustini
 
Saveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF dataSaveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF dataFuming Shih
 
RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031kwangsub kim
 
Resource description framework
Resource description frameworkResource description framework
Resource description frameworkhozifa1010
 
Shrinking the silo boundary: data and schema in the Semantic Web
Shrinking the silo boundary: data and schema in the Semantic WebShrinking the silo boundary: data and schema in the Semantic Web
Shrinking the silo boundary: data and schema in the Semantic WebGordon Dunsire
 
FedX - Optimization Techniques for Federated Query Processing on Linked Data
FedX - Optimization Techniques for Federated Query Processing on Linked DataFedX - Optimization Techniques for Federated Query Processing on Linked Data
FedX - Optimization Techniques for Federated Query Processing on Linked Dataaschwarte
 
Relational Database to RDF (RDB2RDF)
Relational Database to RDF (RDB2RDF)Relational Database to RDF (RDB2RDF)
Relational Database to RDF (RDB2RDF)EUCLID project
 
Mapping Relational Databases to Linked Data
Mapping Relational Databases to Linked DataMapping Relational Databases to Linked Data
Mapping Relational Databases to Linked DataEUCLID project
 

What's hot (20)

FOAF
FOAFFOAF
FOAF
 
Data in RDF
Data in RDFData in RDF
Data in RDF
 
Rdf Overview Presentation
Rdf Overview PresentationRdf Overview Presentation
Rdf Overview Presentation
 
Poster - Completeness Statements about RDF Data Sources and Their Use for Qu...
Poster - Completeness Statements about RDF Data Sources and Their Use for Qu...Poster - Completeness Statements about RDF Data Sources and Their Use for Qu...
Poster - Completeness Statements about RDF Data Sources and Their Use for Qu...
 
OWL: Yet to arrive on the Web of Data?
OWL: Yet to arrive on the Web of Data?OWL: Yet to arrive on the Web of Data?
OWL: Yet to arrive on the Web of Data?
 
Ruby semweb 2011-12-06
Ruby semweb 2011-12-06Ruby semweb 2011-12-06
Ruby semweb 2011-12-06
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
Name That Graph !
Name That Graph !Name That Graph !
Name That Graph !
 
RDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaRDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFa
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic  Web and Linked DataAn introduction to Semantic  Web and Linked Data
An introduction to Semantic Web and Linked Data
 
Ontologies in RDF-S/OWL
Ontologies in RDF-S/OWLOntologies in RDF-S/OWL
Ontologies in RDF-S/OWL
 
Ontologias - RDF
Ontologias - RDFOntologias - RDF
Ontologias - RDF
 
Saveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF dataSaveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF data
 
RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031
 
Resource description framework
Resource description frameworkResource description framework
Resource description framework
 
Shrinking the silo boundary: data and schema in the Semantic Web
Shrinking the silo boundary: data and schema in the Semantic WebShrinking the silo boundary: data and schema in the Semantic Web
Shrinking the silo boundary: data and schema in the Semantic Web
 
Introduction to RDF Data Model
Introduction to RDF Data ModelIntroduction to RDF Data Model
Introduction to RDF Data Model
 
FedX - Optimization Techniques for Federated Query Processing on Linked Data
FedX - Optimization Techniques for Federated Query Processing on Linked DataFedX - Optimization Techniques for Federated Query Processing on Linked Data
FedX - Optimization Techniques for Federated Query Processing on Linked Data
 
Relational Database to RDF (RDB2RDF)
Relational Database to RDF (RDB2RDF)Relational Database to RDF (RDB2RDF)
Relational Database to RDF (RDB2RDF)
 
Mapping Relational Databases to Linked Data
Mapping Relational Databases to Linked DataMapping Relational Databases to Linked Data
Mapping Relational Databases to Linked Data
 

Viewers also liked

ESWC SS 2013 - Thursday Keynote Vassilis Christophides: Preserving linked data
ESWC SS 2013 - Thursday Keynote Vassilis Christophides: Preserving linked dataESWC SS 2013 - Thursday Keynote Vassilis Christophides: Preserving linked data
ESWC SS 2013 - Thursday Keynote Vassilis Christophides: Preserving linked dataeswcsummerschool
 
Semantics, Sensors, and the Social Web
Semantics, Sensors, and the Social WebSemantics, Sensors, and the Social Web
Semantics, Sensors, and the Social WebThe Open University
 
ESWC SS 2012 - Friday Keynote Marko Grobelnik: Big Data Tutorial
ESWC SS 2012 - Friday Keynote Marko Grobelnik: Big Data TutorialESWC SS 2012 - Friday Keynote Marko Grobelnik: Big Data Tutorial
ESWC SS 2012 - Friday Keynote Marko Grobelnik: Big Data Tutorialeswcsummerschool
 
DAA Keynote- 99 Amazing Big Data Experiences
DAA Keynote- 99 Amazing Big Data ExperiencesDAA Keynote- 99 Amazing Big Data Experiences
DAA Keynote- 99 Amazing Big Data ExperiencesOxford Tech + UX
 
Mapping Lo Dto Proton Revised [Compatibility Mode]
Mapping Lo Dto Proton Revised [Compatibility Mode]Mapping Lo Dto Proton Revised [Compatibility Mode]
Mapping Lo Dto Proton Revised [Compatibility Mode]Mariana Damova, Ph.D
 
ESWC SS 2012 - Monday Tutorial 2 Barry Norton: Introduction to SPARQL
ESWC SS 2012 - Monday Tutorial 2 Barry Norton: Introduction to SPARQLESWC SS 2012 - Monday Tutorial 2 Barry Norton: Introduction to SPARQL
ESWC SS 2012 - Monday Tutorial 2 Barry Norton: Introduction to SPARQLeswcsummerschool
 

Viewers also liked (7)

ESWC SS 2013 - Thursday Keynote Vassilis Christophides: Preserving linked data
ESWC SS 2013 - Thursday Keynote Vassilis Christophides: Preserving linked dataESWC SS 2013 - Thursday Keynote Vassilis Christophides: Preserving linked data
ESWC SS 2013 - Thursday Keynote Vassilis Christophides: Preserving linked data
 
Semantics, Sensors, and the Social Web
Semantics, Sensors, and the Social WebSemantics, Sensors, and the Social Web
Semantics, Sensors, and the Social Web
 
ESWC SS 2012 - Friday Keynote Marko Grobelnik: Big Data Tutorial
ESWC SS 2012 - Friday Keynote Marko Grobelnik: Big Data TutorialESWC SS 2012 - Friday Keynote Marko Grobelnik: Big Data Tutorial
ESWC SS 2012 - Friday Keynote Marko Grobelnik: Big Data Tutorial
 
IndustryInform Service of Mozaika
IndustryInform Service of MozaikaIndustryInform Service of Mozaika
IndustryInform Service of Mozaika
 
DAA Keynote- 99 Amazing Big Data Experiences
DAA Keynote- 99 Amazing Big Data ExperiencesDAA Keynote- 99 Amazing Big Data Experiences
DAA Keynote- 99 Amazing Big Data Experiences
 
Mapping Lo Dto Proton Revised [Compatibility Mode]
Mapping Lo Dto Proton Revised [Compatibility Mode]Mapping Lo Dto Proton Revised [Compatibility Mode]
Mapping Lo Dto Proton Revised [Compatibility Mode]
 
ESWC SS 2012 - Monday Tutorial 2 Barry Norton: Introduction to SPARQL
ESWC SS 2012 - Monday Tutorial 2 Barry Norton: Introduction to SPARQLESWC SS 2012 - Monday Tutorial 2 Barry Norton: Introduction to SPARQL
ESWC SS 2012 - Monday Tutorial 2 Barry Norton: Introduction to SPARQL
 

Similar to Programming with LOD

Consuming linked data by machines
Consuming linked data by machinesConsuming linked data by machines
Consuming linked data by machinesPatrick Sinclair
 
Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010Juan Sequeda
 
RejectKaigi2010 - RDF.rb
RejectKaigi2010 - RDF.rbRejectKaigi2010 - RDF.rb
RejectKaigi2010 - RDF.rbFumihiro Kato
 
Introduction to BioHackathon 2014
Introduction to BioHackathon 2014Introduction to BioHackathon 2014
Introduction to BioHackathon 2014Toshiaki Katayama
 
Geography in Linked Ancient World Data
Geography in Linked Ancient World DataGeography in Linked Ancient World Data
Geography in Linked Ancient World Dataparegorios
 
Publishing "5 star" data: the case for RDF
Publishing "5 star" data: the case for RDFPublishing "5 star" data: the case for RDF
Publishing "5 star" data: the case for RDFPeterWinstanley1
 
Radically Open Cultural Heritage Data on the Web
Radically Open Cultural Heritage Data on the WebRadically Open Cultural Heritage Data on the Web
Radically Open Cultural Heritage Data on the WebJulie Allinson
 
Publishing and Using Linked Open Data - Day 2
Publishing and Using Linked Open Data - Day 2Publishing and Using Linked Open Data - Day 2
Publishing and Using Linked Open Data - Day 2Richard Urban
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introductionGraphity
 
Lecture linked data cloud & sparql
Lecture linked data cloud & sparqlLecture linked data cloud & sparql
Lecture linked data cloud & sparqlDhavalkumar Thakker
 
Repository koloniale architectuur v1.0
Repository koloniale architectuur v1.0Repository koloniale architectuur v1.0
Repository koloniale architectuur v1.0psuijker
 
The Semantic Web #5 - RDF (2)
The Semantic Web #5 - RDF (2)The Semantic Web #5 - RDF (2)
The Semantic Web #5 - RDF (2)Myungjin Lee
 
Furore devdays 2017- rdf1(solbrig)
Furore devdays 2017- rdf1(solbrig)Furore devdays 2017- rdf1(solbrig)
Furore devdays 2017- rdf1(solbrig)DevDays
 

Similar to Programming with LOD (20)

Consuming linked data by machines
Consuming linked data by machinesConsuming linked data by machines
Consuming linked data by machines
 
Linked Data on Rails
Linked Data on RailsLinked Data on Rails
Linked Data on Rails
 
Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010
 
RejectKaigi2010 - RDF.rb
RejectKaigi2010 - RDF.rbRejectKaigi2010 - RDF.rb
RejectKaigi2010 - RDF.rb
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
 
Introduction to BioHackathon 2014
Introduction to BioHackathon 2014Introduction to BioHackathon 2014
Introduction to BioHackathon 2014
 
Geography in Linked Ancient World Data
Geography in Linked Ancient World DataGeography in Linked Ancient World Data
Geography in Linked Ancient World Data
 
LOD技術解説
LOD技術解説LOD技術解説
LOD技術解説
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
Publishing "5 star" data: the case for RDF
Publishing "5 star" data: the case for RDFPublishing "5 star" data: the case for RDF
Publishing "5 star" data: the case for RDF
 
Madrid SPARQL handson
Madrid SPARQL handsonMadrid SPARQL handson
Madrid SPARQL handson
 
Radically Open Cultural Heritage Data on the Web
Radically Open Cultural Heritage Data on the WebRadically Open Cultural Heritage Data on the Web
Radically Open Cultural Heritage Data on the Web
 
Publishing and Using Linked Open Data - Day 2
Publishing and Using Linked Open Data - Day 2Publishing and Using Linked Open Data - Day 2
Publishing and Using Linked Open Data - Day 2
 
How RDFa works
How RDFa worksHow RDFa works
How RDFa works
 
Linked (Open) Data
Linked (Open) DataLinked (Open) Data
Linked (Open) Data
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introduction
 
Lecture linked data cloud & sparql
Lecture linked data cloud & sparqlLecture linked data cloud & sparql
Lecture linked data cloud & sparql
 
Repository koloniale architectuur v1.0
Repository koloniale architectuur v1.0Repository koloniale architectuur v1.0
Repository koloniale architectuur v1.0
 
The Semantic Web #5 - RDF (2)
The Semantic Web #5 - RDF (2)The Semantic Web #5 - RDF (2)
The Semantic Web #5 - RDF (2)
 
Furore devdays 2017- rdf1(solbrig)
Furore devdays 2017- rdf1(solbrig)Furore devdays 2017- rdf1(solbrig)
Furore devdays 2017- rdf1(solbrig)
 

More from Fumihiro Kato

オープンなデータベースを利用した行動計画提案に関する研究
オープンなデータベースを利用した行動計画提案に関する研究オープンなデータベースを利用した行動計画提案に関する研究
オープンなデータベースを利用した行動計画提案に関する研究Fumihiro Kato
 
ウィキペディアタウン: 市民による地域情報化の一手法
ウィキペディアタウン: 市民による地域情報化の一手法ウィキペディアタウン: 市民による地域情報化の一手法
ウィキペディアタウン: 市民による地域情報化の一手法Fumihiro Kato
 
Linked Data Cloudの話
Linked Data Cloudの話Linked Data Cloudの話
Linked Data Cloudの話Fumihiro Kato
 
DBpedia Japanese 運営の現状
DBpedia Japanese 運営の現状DBpedia Japanese 運営の現状
DBpedia Japanese 運営の現状Fumihiro Kato
 
シビックテック: インターネット時代の市民と行政の協働
シビックテック: インターネット時代の市民と行政の協働シビックテック: インターネット時代の市民と行政の協働
シビックテック: インターネット時代の市民と行政の協働Fumihiro Kato
 
オープンデータカタログの先
オープンデータカタログの先オープンデータカタログの先
オープンデータカタログの先Fumihiro Kato
 
Open Park Yokohama: 公園LODの試作
Open Park Yokohama: 公園LODの試作Open Park Yokohama: 公園LODの試作
Open Park Yokohama: 公園LODの試作Fumihiro Kato
 
ウィキペディアタウン
ウィキペディアタウンウィキペディアタウン
ウィキペディアタウンFumihiro Kato
 
DBpedia in the Japanese LOD cloud
DBpedia in the Japanese LOD cloudDBpedia in the Japanese LOD cloud
DBpedia in the Japanese LOD cloudFumihiro Kato
 
データポータルソフトウェアCKAN
データポータルソフトウェアCKANデータポータルソフトウェアCKAN
データポータルソフトウェアCKANFumihiro Kato
 
データカタログソフトウェア CKAN
データカタログソフトウェア CKANデータカタログソフトウェア CKAN
データカタログソフトウェア CKANFumihiro Kato
 
オープンデータとLinked Open Data
オープンデータとLinked Open DataオープンデータとLinked Open Data
オープンデータとLinked Open DataFumihiro Kato
 
LOD: Linked Open Data
LOD: Linked Open DataLOD: Linked Open Data
LOD: Linked Open DataFumihiro Kato
 
CKAN日本語コミュニティの現状と課題
CKAN日本語コミュニティの現状と課題CKAN日本語コミュニティの現状と課題
CKAN日本語コミュニティの現状と課題Fumihiro Kato
 
日本語Linked Data Cloudの現状
日本語Linked Data Cloudの現状日本語Linked Data Cloudの現状
日本語Linked Data Cloudの現状Fumihiro Kato
 
えほん関連検索
えほん関連検索えほん関連検索
えほん関連検索Fumihiro Kato
 

More from Fumihiro Kato (20)

オープンなデータベースを利用した行動計画提案に関する研究
オープンなデータベースを利用した行動計画提案に関する研究オープンなデータベースを利用した行動計画提案に関する研究
オープンなデータベースを利用した行動計画提案に関する研究
 
DBpedia Japanese
DBpedia JapaneseDBpedia Japanese
DBpedia Japanese
 
ウィキペディアタウン: 市民による地域情報化の一手法
ウィキペディアタウン: 市民による地域情報化の一手法ウィキペディアタウン: 市民による地域情報化の一手法
ウィキペディアタウン: 市民による地域情報化の一手法
 
Linked Data Cloudの話
Linked Data Cloudの話Linked Data Cloudの話
Linked Data Cloudの話
 
DBpedia Japanese 運営の現状
DBpedia Japanese 運営の現状DBpedia Japanese 運営の現状
DBpedia Japanese 運営の現状
 
シビックテック: インターネット時代の市民と行政の協働
シビックテック: インターネット時代の市民と行政の協働シビックテック: インターネット時代の市民と行政の協働
シビックテック: インターネット時代の市民と行政の協働
 
オープンデータカタログの先
オープンデータカタログの先オープンデータカタログの先
オープンデータカタログの先
 
Open Park Yokohama: 公園LODの試作
Open Park Yokohama: 公園LODの試作Open Park Yokohama: 公園LODの試作
Open Park Yokohama: 公園LODの試作
 
ウィキペディアタウン
ウィキペディアタウンウィキペディアタウン
ウィキペディアタウン
 
DBpedia in the Japanese LOD cloud
DBpedia in the Japanese LOD cloudDBpedia in the Japanese LOD cloud
DBpedia in the Japanese LOD cloud
 
Open Park Yokohama
Open Park YokohamaOpen Park Yokohama
Open Park Yokohama
 
データポータルソフトウェアCKAN
データポータルソフトウェアCKANデータポータルソフトウェアCKAN
データポータルソフトウェアCKAN
 
データカタログソフトウェア CKAN
データカタログソフトウェア CKANデータカタログソフトウェア CKAN
データカタログソフトウェア CKAN
 
オープンデータとLinked Open Data
オープンデータとLinked Open DataオープンデータとLinked Open Data
オープンデータとLinked Open Data
 
LOD: Linked Open Data
LOD: Linked Open DataLOD: Linked Open Data
LOD: Linked Open Data
 
スキーマとURI
スキーマとURIスキーマとURI
スキーマとURI
 
CKAN日本語コミュニティの現状と課題
CKAN日本語コミュニティの現状と課題CKAN日本語コミュニティの現状と課題
CKAN日本語コミュニティの現状と課題
 
日本語Linked Data Cloudの現状
日本語Linked Data Cloudの現状日本語Linked Data Cloudの現状
日本語Linked Data Cloudの現状
 
sgvizler
sgvizlersgvizler
sgvizler
 
えほん関連検索
えほん関連検索えほん関連検索
えほん関連検索
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Programming with LOD

  • 1. Programming with LOD Fumihiro Kato Research Organization of Information and Systems Transdisciplinary Research Integration Center National Institute of Informatics 1
  • 2. Linked Data Principles 1. Use URIs as names for things 2. Use HTTP URIs so that people can look up those names. 3. When someone looks up a URI, provide useful information, using the standards (RDF, SPARQL) 4. Include links to other URIs, so that they can discover more things. 2
  • 4. 1. request /resource/South_Korea 2. return an HTML document for /resource/South_Korea Web Browser http://dbpedia.org 4
  • 5. 1. request /resource/South_Korea 2. return an RDF document for /resource/South_Korea LOD Agent http://dbpedia.org @prefix dbpedia-owl: <http://dbpedia.org/ontology/> . @prefix dbpedia: <http://dbpedia.org/resource/> . dbpedia:Seoul dbpedia-owl:country dbpedia:South_Korea . dbpedia:JnC dbpedia-owl:hometown dbpedia:South_Korea . @prefix dbpprop: <http://dbpedia.org/property/> . dbpedia:JnC dbpprop:origin dbpedia:South_Korea . dbpedia:Lee_Jae_Jin dbpedia-owl:hometown dbpedia:South_Korea ; dbpprop:origin dbpedia:South_Korea . dbpedia:Kang_Sung_Hoon dbpedia-owl:hometown dbpedia:South_Korea ; dbpprop:origin dbpedia:South_Korea . dbpedia:Northern_Asia-Pacific_Division_of_Seventh-day_Adventists dbpedia-owl:location dbpedia:South_Korea ; dbpedia-owl:regionServed dbpedia:South_Korea ; dbpprop:location dbpedia:South_Korea . dbpedia:Korean_Amateur_Radio_League dbpedia-owl:regionServed dbpedia:South_Korea ; dbpprop:regionServed dbpedia:South_Korea . dbpedia:Asia-Pacific_Association_for_International_Education dbpprop:headquarters dbpedia:South_Korea ; dbpedia-owl:headquarter dbpedia:South_Korea . dbpedia:The_Korean_Chemical_Society dbpedia-owl:location dbpedia:South_Korea ; dbpprop:location dbpedia:South_Korea . dbpedia:Korean_e-Sports_Association dbpedia-owl:regionServed dbpedia:South_Korea . dbpedia:Miss_Asia_Pacific_World dbpprop:headquarters dbpedia:South_Korea ; dbpedia-owl:headquarter dbpedia:South_Korea . dbpedia:Daegu_Stadium dbpedia-owl:location dbpedia:South_Korea . dbpedia:Chuncheon_Civic_Stadium dbpedia-owl:location dbpedia:South_Korea . 5
  • 6. RDF Libraries • Java: Jena, Sesame • Python: rdflib • C: Redland • Perl: PerlRDF • C#: dotNetRDF • JavaScript: rdfQuery, • Ruby: RDF.rb rdfstore-js • PHP: ARC2, • .... Graphite See http://www.w3.org/2001/sw/wiki/Tools 6
  • 8. Reading RDF 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 6 RDF::Reader.open("http://dbpedia.org/resource/South_Korea") do |reader| 7 reader.each do |statement| 8 puts statement.inspect 9 end 10 end 8
  • 9. Reading RDF 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 6 RDF::Reader.open("http://dbpedia.org/resource/South_Korea") do |reader| 7 reader.each do |statement| 8 puts statement.inspect 9 end 10 end ....... #<RDF::Statement:0x3fd362ca7338(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/areaTotal> 100209.22997701018 .)> #<RDF::Statement:0x3fd362ca7338(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/areaTotal> 100209.22997701018 .)> #<RDF::Statement:0x3fd362cabd70(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/areaTotal> 100210.0 .)> #<RDF::Statement:0x3fd362cabd70(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/areaTotal> 100210.0 .)> #<RDF::Statement:0x3fd3623772cc(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/populationDensity> 491.0 .)> #<RDF::Statement:0x3fd3623772cc(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/populationDensity> 491.0 .)> #<RDF::Statement:0x3fd362c797bc(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/populationDensity> 490.73584350744875 .)> #<RDF::Statement:0x3fd362c797bc(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/PopulatedPlace/populationDensity> 490.73584350744875 .)> #<RDF::Statement:0x3fd362c59c28(<http://dbpedia.org/resource/South_Korea> <http://dbpedia.org/ontology/abstract> Corea del Sud, of icialment la República de Corea) és un país de l'Àsia que ocupa la regió meridional de la península de Corea. Al nord, limita amb Corea del Nord, al qual estava unit fins el 1945. A l'oest, creuant la mar Groga, es troba la República Popular de Xina, i a l'est , creuant l'Estret de Corea, es troba el Japó. La capital i la ciutat més gran n'és Seül, l'àrea metropolitana de la qual és una de les tres més poblades del món. La llengua oficial de Corea del Sud és el coreà, i és, actualment, la desena llengua més parlada del món. El nom del país, en coreà, significa "La Gran Nació del Poble Coreà", hom es refereix al país sovint com la "Terra de la Calma del Matí". llegendari Dangun Kanggeom. L'evidència arqueològica suggereix que els coreans han habitat la península des del Paleolític Baix. Després de la unificació dels Tres Regnes Coreans sota el comandament de Silla el 668 dC, Corea va romandre com a nació unificada sota les dinasties de Goryeao i Joseaon fins la caiguda de l'Imperi Coreà el 1910. Després de la divisió i de l'establiment de la república moderna de Corea del Sud, el país ha tingut que reconstruir-se després del període d'explotació japonesa i de la Guerra de Corea. No obstant això, l'estàndard de vida, així com l'economia, van créixer de manera sorprenent des de la dècada de 1980. El 1987, després de diverses manifestacions nacionals, el govern autoritari es va col·lapsar, i des de llavors, s'hi han celebrat eleccions democràtiques cada cinc anys. Avui dia, Corea del Sur és un dels Estats pioners de la democràcia a Àsia; els ciutadans coreans gaudeixen d'un dels nivells més alts de ...... 9
  • 10. Accessing statements 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 6 RDF::Reader.open("http://dbpedia.org/resource/Korea") do |reader| 7 reader.each do |statement| 8 puts "s: #{statement.subject}, p: #{statement.predicate}, o: #{statement.object}" 9 end 10 end 10
  • 11. RDF Serialization • N-Triples • RDFa • RDF/XML • JSON-LD • Turtle (N3) • RDF/JSON • TriX • ... 11
  • 12. Reading text/n3 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 6 RDF::Reader.open("http://dbpedia.org/data/South_Korea.n3", :format => "n3") do |reader| 7 reader.each do |statement| 8 puts statement.inspect! 9 end 10 end 12
  • 13. Writing RDF 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 6 RDF::Writer.open("writing.ttl") do |writer| 7 subject = RDF::URI("http://dbpedia.org/resource/South_Korea") 8 predicate = RDF::RDFS.label 9 object = RDF::Literal("韓国", :language => :ja) 10 writer << RDF::Steatement.new(subject, predicate, object) 11 end 13
  • 14. Loading and Merging RDF 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 6 graph = RDF::Graph.new 7 graph.load("http://dbpedia.org/resource/South_Korea") 8 puts graph.size 9 graph.load("http://dbpedia.org/resource/Daejeon") 10 puts graph.size 14
  • 15. Querying RDF 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 6 graph = RDF::Graph.new 7 graph.load("http://dbpedia.org/resource/Daejeon") 8 graph.query([RDF::URI("http://dbpedia.org/resource/Daejeon"), 9 RDF::URI("http://dbpedia.org/ontology/country"), 10 nil]).each do |statement| 11 puts statement.object 12 end dbpedia:South_Korea dbpedia-owl:country rdf:type dbpedia-owl:City dbpedia:Daejeon geo:lat rdfs:label 36.350101 Daejeon 15
  • 16. Defining a vocabulary 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 6 DBP = RDF::Vocabulary.new("http://dbpedia.org/resource/") 7 DBP_ONT = RDF::Vocabulary.new("http://dbpedia.org/ontology/") 8 9 graph = RDF::Graph.new 10 graph.load(DBP.Daejeon) 11 graph.query([DBP.Daejeon, DBP_ONT.country, nil]).each do |statement| 12 puts statement.object 13 end dbpedia-owl:South_Korea dbpedia-owl:country rdf:type dbpedia-owl:City dbpedia:Daejeon geo:lat rdfs:label 36.350101 Daejeon 16
  • 17. Query SQL SPARQL DB RDB RDF Store Model Relational Model RDF Model 17
  • 18. SPARQL • SPARQL Protocol and RDF Query Language • W3C Standards • SQL-like syntax • Graph Patterns • Result Formats: XML, JSON, (CSV, TSV) • $ gem install sparql 18
  • 19. Using SPARQL in RDF.rb 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 6 graph = RDF::Graph.new 7 graph.load("http://dbpedia.org/resource/Daejeon") 8 9 sse = SPARQL.parse("""SELECT ?o 10 WHERE { 11 <http://dbpedia.org/resource/Daejeon> <http://dbpedia.org/ontology/country> ?o . 12 }""") 13 14 sse.execute(graph).each do |solution| 15 puts solution[:o] 16 end 19
  • 20. Querying a SPARQL Endpoint 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 6 client = SPARQL::Client.new("http://dbpedia.org/sparql") 7 8 query = """SELECT ?o 9 WHERE { 10 <http://dbpedia.org/resource/Daejeon> <http://dbpedia.org/ontology/country> ?o . 11 }""" 12 13 client.query(query).each do |solution| 14 puts solution[:o] 15 end 20
  • 21. dbpedia-owl:Country rdf:type rdfs:label dbpedia-owl:City dbpedia-owl:capital dbpedia:South_Korea South Korea rdf:type dbpedia-owl:coutnry dbpedia-owl:Company dbpedia:Seoul dbpedia-owl:location rdf:type dbpedia-owl:location rdfs:label dbpedia:Samsung_Electronics dbpedia-owl:owner owl:sameAs dbpprop:foundingYear dbpedia-owl:Lee_Kun-hee 1969-01-01 Seoul rdfs:label freebase:Seoul foaf:homepage 삼성전자 rdfs:label http://global.samsungtomorrow.com/ Samsung Electronics 21
  • 22. PREFIX dbpedia: <http://dbpedia.org/resource/> PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?location ?label WHERE { dbpedia:Samsung_Electronics dbpedia-owl:location ?location . ?location rdfs:label ?label . } dbpedia-owl:Country rdf:type rdfs:label dbpedia-owl:City dbpedia-owl:capital dbpedia:South_Korea South Korea rdf:type dbpedia-owl:coutnry dbpedia-owl:Company dbpedia:Seoul dbpedia-owl:location rdf:type dbpedia-owl:location rdfs:label dbpedia:Samsung_Electronics dbpedia-owl:owner owl:sameAs dbpprop:foundingYear dbpedia-owl:Lee_Kun-hee 1969-01-01 Seoul rdfs:label freebase:Seoul foaf:homepage 삼성전자 rdfs:label http://global.samsungtomorrow.com/ Samsung Electronics 22
  • 23. 23
  • 24. 24
  • 25. Querying a SPARQL Endpoint 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 6 client = SPARQL::Client.new("http://dbpedia.org/sparql") 7 8 query = """PREFIX dbpedia: <http://dbpedia.org/resource/> 9 PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> 10 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 11 12 SELECT ?location ?label 13 WHERE { 14 dbpedia:Samsung_Electronics dbpedia-owl:location ?location . 15 ?location rdfs:label ?label . 16 }""" 17 18 client.query(query).each do |solution| 19 puts solution.inspect 20 end 25
  • 26. PREFIX dbpedia: <http://dbpedia.org/resource/> PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?location ?label WHERE { dbpedia:Samsung_Electronics dbpedia-owl:location ?location . ?location a dbpedia-owl:City ; rdfs:label ?label . } dbpedia-owl:Country rdf:type rdfs:label dbpedia-owl:City dbpedia-owl:capital dbpedia:South_Korea South Korea rdf:type dbpedia-owl:coutnry dbpedia-owl:Company dbpedia:Seoul dbpedia-owl:location rdf:type dbpedia-owl:location rdfs:label dbpedia:Samsung_Electronics dbpedia-owl:owner owl:sameAs dbpprop:foundingYear dbpedia-owl:Lee_Kun-hee 1969-01-01 Seoul rdfs:label freebase:Seoul foaf:homepage 삼성전자 rdfs:label http://global.samsungtomorrow.com/ Samsung Electronics 26
  • 27. 27
  • 28. PREFIX dbpedia: <http://dbpedia.org/resource/> PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?location ?label WHERE { dbpedia:Samsung_Electronics dbpedia-owl:location ?location . ?location a dbpedia-owl:City ; rdfs:label ?label . FILTER(lang(?label) = ‘ko’) dbpedia-owl:Country } rdf:type rdfs:label dbpedia-owl:City dbpedia-owl:capital dbpedia:South_Korea South Korea rdf:type dbpedia-owl:coutnry dbpedia-owl:Company dbpedia:Seoul dbpedia-owl:location rdf:type dbpedia-owl:location rdfs:label dbpedia:Samsung_Electronics dbpedia-owl:owner owl:sameAs dbpprop:foundingYear dbpedia-owl:Lee_Kun-hee 1969-01-01 Seoul rdfs:label freebase:Seoul foaf:homepage 삼성전자 rdfs:label http://global.samsungtomorrow.com/ Samsung Electronics 28
  • 29. 29
  • 30. SPARQL 1.0 • CRUD • SELECT • ASK • CONSTRUCT • DESCRIBE 30
  • 32. ASK PREFIX dbpedia: <http://dbpedia.org/resource/> PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> ASK WHERE { dbpedia:Daejeon ?p ?o . } 32
  • 33. CONSTRUCT PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> CONSTRUCT { ?s rdfs:label ?name . } WHERE { ?s foaf:name ?name . } 33
  • 35. http://www.w3.org/wiki/SparqlEndpoints http://www.w3.org/wiki/SparqlEndpoints http://www.w3.org/wiki/SparqlEndpoints 35
  • 36. http://www.w3.org/wiki/SparqlEndpoints http://www.w3.org/wiki/SparqlEndpoints 36 http://labs.mondeca.com/sparqlEndpointsStatus/
  • 37. http://thedatahub.org/group/lodcloud http://ckan.net/package?res_format=api%2Fsparql 37
  • 38. 38 http://lod.ac/apps/lodac_location/
  • 39. PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> SELECT DISTINCT ?link ?title ?lat ?long WHERE { ?link rdfs:label ?title; geo:lat ?lat; geo:long ?long . FILTER ( ?lat > #{sw_lat} && ?lat < #{ne_lat} && ?long > #{sw_long} && ?long < #{ne_long} && lang(?title) = "ja" ) } 39
  • 40. Query SQL SPARQL DB RDB RDF Store Model Relational Model RDF Model 40
  • 41. RDF Store • Triplestore / Quadstore / Graph DB • SPARQL Endpoint • Options Bigdata® • RDFS/OWL Inference • Full text indexing • Clustering • See http://en.wikipedia.org/wiki/ Triplestore 41
  • 43. Virtuoso Open Source • http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/ • install binary • install from source $ tar xvzf virtuoso-opensource-6.1.6.tar.gz $ cd virtuoso-opensource-6.1.6 $ ./configure $ make $ make install $ /usr/local/virtuoso-opensource/bin/virtuoso-t +configfile /usr/local/virtuoso- opensource/var/lib/virtuoso/db/virtuoso.ini 43
  • 46. 46
  • 47. 47
  • 49. Storage Adapter • Memory • Sesame • Virtuoso • DataObjects (SQLite3, PostgreSQL) • RedStore • 4Store • MongoDB • Cassandra • Talis • SPARQL 49
  • 50. Virtuoso Adapter $ gem install rdf-virtuoso 1 #!/usr/bin/env ruby 2 # -*- coding: utf-8 -*- 3 4 require 'linkeddata' 5 require 'rdf/virtuoso' 6 7 REPO_URI = "http://localhost:8890" 8 USER = "dba" 9 PASS = "dba" # this should be changed 10 DBP = RDF::Vocabulary.new("http://dbpedia.org/resource/") 11 12 repo = RDF::Virtuoso::Repository.new(REPO_URI, :username => USER, 13 :password => PASS, :auth_method => 'digest') 14 query = RDF::Virtuoso::Query.select.where([:s, :p, DBP.South_Korea]) 15 result = repo.select(query) 16 17 result.each do |solution| 18 puts solution.inspect 19 end 50
  • 51. Summary • how to consume LOD • RDF • SPARQL 51
  • 52. twitter: fumi1 fumi@nii.ac.jp 52