SlideShare ist ein Scribd-Unternehmen logo
1 von 54
A Little SPARQL in
your Analytics
Dr. Neil Brittliff
Introduction
The Semantic Web, as originally envisioned, is a system that enables
machines to "understand" and respond to complex human requests
based on their meaning. Such an "understanding" requires that the
relevant information sources be semantically structured.
Tim Berners-Lee originally expressed the vision of the Semantic Web as
follows:
I have a dream for the Web [in which computers] become capable of analysing all the
data on the Web – the content, links, and transactions between people and
computers. A "Semantic Web", which makes this possible, has yet to emerge, but
when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives
will be handled by machines talking to machines.
Some other thoughts…
Are you a member of
the SPARQL cult
Alex Karp CEO Palantir
Its about graphs not
trees
Pascal Hitzler
Professor and Director of Data Science at the
Department of Computer Science and Engineering at
Wright State University in Dayton, Ohio
In the six degrees of
separation, not all degrees
are equal.
Malcolm Gladwell, The Tipping
Point: How Little Things Can Make a
Big Difference
The Talk Structure
Triples and RDF
◦ What is the Big Deal
Resource Description Framework (RDF)
◦ A formal way to represent information
◦ Some of Nomenclature
◦ Some data structures
SPARQL
◦ A language not dissimilar to SQL but can interrogate the Semantic Web
Ontological Representations
◦ A formal way to describe structure
Analytics
◦ Some SNA stuff
The Triple Store Implementations
Some of my stuff – Dealing with Massive RDF Lists
Data Platforms
Lets look back…
CODAYSL
Hierarchial
Relational
Columnar
Key/Value
Document
Graph
The Triple
Subject Predicate Object
Resource or Blank Resource Resource, Literal or Blank
Triple
Note: The URL can identify data in the cloud
or on premise.
Note: No need for NULLs
RDF
• RDF - Resource Description Framework and it is a flexible schema-
less data model
• Standards based – W3C
• RDF Syntax
o N3/Turtle
o XML
• Predefined RDF Structures
o Bag
o Seq
o Alt
o List
These are the only data
structures
RDF Representation
@prefix p: <http://www.example.org/personal_details#> .
@prefix m: <http://www.example.org/meeting_organization#> .
@prefix g: <http://www.another.example.org/geographical#>
<http://www.example.org/people#fred>
p:GivenName "fred";
p:hasEmail <mailto:fred@example.com>;
m:attending <http://meetings.example.com/cal#m1> .
<http://meetings.example.com/cal#m1> g:Location [
g:zip "02139";
g:lat "14.124425";
g:long "14.245" ];
<http://meetings.example.com/cal#m1> m:homePage <http://meetings.example.com/m1/hp>
“14.124425".
g:zip
g:lat
g:long
“02139".
“14.245".
http://meetings.example.com/cal#m1
g:location
CURIE
RDF Property Constants
Note: A Predicate is also referred to as property used when the
object is a Literal
Property Description Usage
rdf:first First Element in a list rdf:Property
rdf:rest Rest of the List rdf:Property
rdf:_i List Sequence rdf:Property
rdf:nil End of the List rdf:Resource
Note: If a Predicate is a number the number value is preceded
by an underscore _
Nodes and the Blank Nodes
"2010-09-29".
genid:ARP11
sf:Phone-Mobile
sf:marial-status
sf:DOB
“single".
sf:mode
“car".
sf:gender
“555-1278-4343".
“F".
"2010-09-29".
sf:Phone-Mobile
sf:marial-status
sf:DOB
“single".
sf:mode
“car".
sf:gender
“555-1278-4343".
“F".
genid:ARP11 p:GivenName "fred";
p:hasEmail <mailto:fred@example.com>;
m:attending <http://meetings.example.com/cal#m1>
Note: Blank nodes are not idempotent !!!
_:a1
RDF Structures
<rdf:Description rdf:about="http://science-fiction-book/uri">
<ex:authors>
<rdf:Bag>
<rdf:li "Asimov">
<rdf:li "Dick">
<rdf:li "Heinlein">
</rdf:Seq>
</ex:authors>
</rdf:Description
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix d: <http://learningsparql.com/ns/data#> .
d:myList d:contents _:b1 .
_:b1 rdf:first "one" .
_:b1 rdf:rest _:b2 .
_:b2 rdf:first "two" .
_:b2 rdf:rest _:b3 .
_:b3 rdf:first "three" .
_:b3 rdf:rest _:b4 .
_:b4 rdf:first "four" .
_:b4 rdf:rest _:b5 .
_:b5 rdf:first "five" .
_:b5 rdf:rest rdf:nil .
“one"_:b1
“two"_:b2
“three"_:b3
“four"_:b4
_:b5 “five"
rdf:nil
d:mylist
rdf:first
rdf:first
rdf:first
rdf:first
rdf:first
rdf:rest
rdf:rest
rdf:rest
rdf:rest
rdf:rest
d:contents
SPARQL
SPARQL(pronounced "sparkle", a recursive
acronym[2] for SPARQL Protocol and RDF Query Language) is an RDF
query language, that is, a semantic query language for databases, able
to retrieve and manipulate data stored in Resource Description
Framework (RDF) format. It was made a standard by the RDF Data
Access Working Group (DAWG) of the World Wide Web Consortium, and
is recognized as one of the key technologies of the semantic web. On 15
January 2008, SPARQL 1.0 became an official W3C
Recommendation, and SPARQL 1.1 in March, 2013.
Note: Source Wikipedia
The Language Structure
PREFIX abc: <nul://sparql/exampleOntology#> .
SELECT ?capital ?country WHERE {
?x abc:cityname ?capital ;
<nul://sparql/exampleOntology#isCapitalOf> ?y.
?y abc:countryname ?country ;
abc:isInContinent abc:Africa.
}
CURI
Resource
Note: It is a bit like an SQL Select Statement
Fully
Qualified
Triple
Variable
Construct
CONSTRUCT { ?article dwc:articleTaxonName ?name }
WHERE {
?x txn:hasWikipediaArticle ?article.
?x txn:scientificName ?name.
?x a txn:SpeciesConcept.
?x txn:kingdom "Plantae".
}
LIMIT 10
Note: Always returns RDF (triples) !!!
Describe
DESCRIBE ?x WHERE {
?x a txn:Occurrence.
?x dcterms:date "2010-09-29".
}
LIMIT 10
txn:Occurrence
"2010-09-29".
Note: Describe always returns RDF !
Node to
describe
Ask
ASK {
?x a txn:Occurrence.
?x dcterms:date "2010-09-29".
}
Yes or No
Select
SELECT ?person ?name ?email WHERE {
?person foaf:email ?email.
?person foaf:name ?name.
?person foaf:skill "internet".
}
LIMIT 50
Note: Results are returned in a tabular format
Results from the Select
person name email
<http://www.w3.org/People/karl/karl-foaf.xrdf#me> "Karl Dubost" <mailto:karl@w3.org>
<http://www.w3.org/People/card#amy> "Amy van der Hiel" <mailto:amy@w3.org>
<http://www.w3.org/People/card#edd> "Edd Dumbill" <mailto:edd@xmlhack.com>
<http://www.w3.org/People/card#dj> "Dean Jackson" <mailto:dean@w3.org>
<http://www.w3.org/People/card#edd> "Edd Dumbill" <mailto:edd@usefulinc.com>
<http://www.aaronsw.com/about.xrdf#aaronsw> "Aaron Swartz" <mailto:me@aaronsw.com>
<http://www.w3.org/People/card#i> "Timothy Berners-Lee" <mailto:timbl@w3.org>
<http://www.w3.org/People/EM/contact#me> "Eric Miller" <mailto:em@w3.org>
<http://www.w3.org/People/card#edd> "Edd Dumbill" <mailto:edd@xml.com>
<http://www.w3.org/People/card#dj> "Dean Jackson" <mailto:dino@grorg.org>
<http://www.w3.org/People/card#libby> "Libby Miller" <mailto:libby.miller@bristol.ac.uk>
<http://www.w3.org/People/Connolly/#me> "Dan Connolly" <mailto:connolly@w3.org>
Select - Optional
PREFIX mo: <http://purl.org/ontology/mo/> .
PREFIX foaf: <http://xmlns.com/foaf/0.1/> .
SELECT ?name ?img ?hp ?loc WHERE {
?a a mo:MusicArtist ;
foaf:name ?name .
OPTIONAL { ?a foaf:img ?img }
OPTIONAL { ?a foaf:homepage ?hp }
OPTIONAL { ?a foaf:based_near ?loc }
}
The Optional Clause Result
foaf:based_near
foaf:name
foaf:based_near
foaf:img
foaf:homepage
mo:MusicArtist
foaf:name
mo:MusicArtist
foaf:based_near
foaf:name
foaf:homepage
foaf:img
foaf:img
Select - Filter
PREFIX prop: <http://dbpedia.org/property/> .
ASK WHERE {
<http://dbpedia.org/resource/Amazon_River> prop:length ?amazon .
<http://dbpedia.org/resource/Nile> prop:length ?nile .
FILTER(?amazon > ?nile) .
}
Note: Filters are applied after the results are selected
Note: Filters can appear anywhere within the SELECT statement
Alternatives - Union
PREFIX go: <http://purl.org/obo/owl/GO#> .
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
PREFIX odo: <http://www.obofoundry.org/ro/ro.owl#> .
SELECT DISTINCT ?label ?process
COUNT(*) AS ?count
WHERE {
{ ?process obo:part_of go:GO_0007165 }
UNION
{ ?process rdfs:subClassOf go:GO_0007165 }
?process rdfs:label ?label
}
GROUP BY ?label ORDER BY DESC(COUNT(*))
GROUP BY ?interest ORDER BY DESC(COUNT(*))
COUNT(*) AS ?count
SPARQL - Update
PREFIX prop: <http://dbpedia.org/property/> .
PREFIX dc: <http://purl.org/dc/elements/1.1/>
INSERT DATA {
<http://example/book1> dc:title "A new book" ;
dc:creator "A.N.Other" . }
PREFIX dc: <http://purl.org/dc/elements/1.1/>
DELETE DATA {
<http://example/book2> dc:title "David Copperfield" ;
dc:creator "Edmund Wells" . }
Note: You can only insert and delete triplets
Quads – The Graph
CONSTRUCT {
GRAPH :g { ?s :p ?o }
{ ?s :p ?o }
<http://purl.org/obo/owl/GO#> { :s ?p :o }
WHERE {
.
.
.
}
Note: Can be seen as a schema in a relational database
Default Graph
URI
SPARQL and Analytics
Property Paths
Syntax Form Matches
uri
A URI or a prefixed name. A path
of length one.
^elt Inverse path (object to subject).
(elt)
A group path elt, brackets control
precedence.
elt1 / elt2
A sequence path of elt1, followed
by elt2
elt1 ^ elt2
Shorthand for elt1 / ^elt2, that
is elt1 followed by the inverse
of elt2.
elt1 | elt2
A alternative path of elt1,
or elt2 (all possibilities are tried).
elt*
A path of zero or more
occurrences of elt.
elt+
A path of one or more occurrences
of elt.
elt? A path of zero or one elt.
elt{n,m}
A path between n and m
occurrences of elt.
elt{n}
Exactly n occurrences of elt. A
fixed length path.
elt{n,} n or more occurrences of elt.
elt{,n}
Between 0 and n occurrences
of elt.
SELECT ?value WHERE {
:list rdf:rest* []
[] rdf:first ?value
}
Note: Note the use [] this tells
the SPARQL parser that the triples
share a common resource.
Property Paths cont…
PREFIX d: <http://learningsparql.com/ns/data#>
SELECT ?item
WHERE {
d:myList d:contents/rdf:rest{2}/rdf:first ?item
}
-----------
| item |
===========
| "three" |
-----------
SPARQL and R
install.packages(c('SPARQL','igraph','network','ergm'),dependencies=TRUE)
library(SPARQL)
library(igraph)
library(network)
library(ergm)
endpoint <- "http://live.dbpedia.org/sparql"
sparql_prefix <- "PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dc: <http://purl.org/dc/terms/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> "
q <- paste(sparql_prefix, 'SELECT ?actor ?movie ?director ?movie_date
WHERE {
?m dc:subject <http://dbpedia.org/resource/Category:American_films> .
?m rdfs:label ?movie . FILTER(LANG(?movie) = "en")
?m dbp:released ?movie_date .
FILTER(DATATYPE(?movie_date) = xsd:date) ?m dbp:starring ?a .
?a rdfs:label ?actor .
FILTER(LANG(?actor) = "en") ?m dbp:director ?d .
?d rdfs:label ?director .
FILTER(LANG(?director) = "en") }')
res <- SPARQL(endpoint,q,ns=prefix,extra=options)
$results
Ego-centred network measures
Ontological Representations
RDFS
RDF Schema (or RDFS) defines classes and properties.
The resources in the RDFS vocabulary have URIrefs beginning with
http://www.w3.org/2000/01/rdf-schema#
ex:Vehicle rdf:type rdfs:Class.
ex:Car rdfs:subClassOf ex:Vehicle .
ex:Van rdfs:subClassOf ex:Vehicle .
ex:Truck rdfs:subClassOf ex:Vehicle .
ex:MiniVan rdfs:subClassOf ex:Van .
ex:MiniVan rdfs:subClassOf ex:Car .
Class
Vehicle
Van
MiniVan
Truck Car
MiniVan
OWL
The Ontology Web Language (OWL) is a family of knowledge
representation languages for authoring ontologies. Ontologies are a formal
way to describe taxonomies and classification networks, essentially defining
the structure of knowledge for various domains: the nouns representing
classes of objects and the verbs representing relations between the objects.
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="#Tosca" />
<owl:Thing rdf:about="#Salome" />
</owl:oneOf>
</owl:Class>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="#Turandot" />
<owl:Thing rdf:about="#Tosca" />
</owl:oneOf>
</owl:Class>
</owl:intersectionOf>
</owl:Class>
OWL is intended to be used when the information
contained in documents needs to be processed by
applications, as opposed to situations where the
content only needs to be presented to humans. OWL
can be used to explicitly represent the meaning of
terms in vocabularies and the relationships between
those terms. OWL has more facilities for expressing
meaning and semantics than XML, RDF, and RDFS, and
thus OWL goes beyond these languages in its ability to
represent machine interpretable content on the Web.
Reification
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix : <http://example/ns#> .
_:a rdf:subject <http://example.org/book/book1> .
_:a rdf:predicate dc:title .
_:a rdf:book "SPARQL" .
_:a :saidBy "Alice" .
_:b rdf:subject <http://example.org/book/book1> .
_:b rdf:predicate dc:title .
_:b rdf:book "SPARQL Tutorial" .
_:b rdf:video "SPARQL Queries" .
_:b :saidBy "Bob" .
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX : <http://example/ns#>
SELECT ?book ?title
WHERE
{ ?t rdf:subject ?book .
?t rdf:predicate dc:title .
?t rdf:object ?title .
?t :saidBy "Bob" .
}
book title
<http://example.org/book/book1> "SPARQL Tutorial"
<http://example.org/book/book1> "SPARQL Queries"
Ontologies
The Friend Of A Friend (FOAF) ontology
Project homepage: http://www.foaf-project.org/
Namespace: http://xmlns.com/foaf/0.1/
Typical prefix: foaf:
Documentation: http://xmlns.com/foaf/spec/
The Dublin Core (DC) ontology
Project homepage: http://dublincore.org/
Namespace: http://purl.org/dc/elements/1.1/ and http://purl.org/dc/terms/
Typical prefix: dc: and dcterm:
Documentation: http://dublincore.org/specifications/
Description: this is a light weight RDFS vocabulary for describing generic
metadata.
Ontologies cont…
VCARD
Project homepage: http://www.w3.org/TR/vcard-rdf/
Namespace: http://www.w3.org/2006/vcard/ns#/
Typical prefix: vcard:
Documentation: hp://www.w3.org/TR/vcard-rdf/
<vcard:Individual rdf:about="http://example.com/me/corky">
<vcard:fn>Corky Crystal</vcard:fn>
<vcard:nickname>Corks</vcard:nickname>
<vcard:hasEmail rdf:resource="mailto:corky@example.com"/>
</vcard:Individual>
Implementations
Aduna Sesame
Apache Jena
Aduna Sesame
Aduna Sesame
◦ Multiple back-end relational database support
◦ MYSQL
◦ PostgresDB
◦ Oracle (Provided by Oracle)
◦ Various Third Party Implementations
◦ Limited support for the property path expression
◦ Not great for massive graph retrievals
◦ Comes with a complient REST interface
◦ Excellent Management Console
Sesame Back-ends
Ontotext GraphDB™
Ontotext GraphDB™ (formerly OWLIM) is a leading RDF Triplestore built on OWL (Ontology Web
Language) standards, and fully compatible with the Sesame APIs. GraphDB handles massive loads,
queries and OWL inferencing in real time. Ontotext offers three versions: GraphDB™ Lite, GraphDB™
Standard and GraphDB™ Enterprise.
CumulusRDF
CumulusRDF is an RDF store on a cloud-based architecture, fully compatible with the
Sesame APIs. CumulusRDF provides a REST-based API with CRUD operations to manage
RDF data. The current version uses Apache Cassandra as storage backend.
Systap Blazegraph™
Blazegraph™ (formerly known as Bigdata) is an enterprise graph database by Systap, LLC
that provides a horizontally scaling, fully Sesame-compatible, storage and retrieval
solution for very large volumes of RDF.
Apache Jena
Apache Jena
◦ Multiple back-end relational database support
◦ Does support property paths
◦ OK on large graph retrievals
ARQ (SPARQL)
Query your RDF data using ARQ, a SPARQL 1.1compliant engine. ARQ supports remote federated
queries and free text search.
Fuseki
Expose your triples as a SPARQL end-point accessible over HTTP. Fuseki provides REST-style interaction
with your RDF data.
Inference API
Reason over your data to expand and check the content of your triple store. Configure your own
inference rules or use the built-in OWL and RDFS reasoners.
Note: Originally developed by Hewlett Packard
AllegroGraph
AllegroGraph
◦ Utilises Aduna Sesame Infrastructure
◦ Very Fast
◦ Supports ‘free text’
◦ Supports Geospatial search
Oracle
Has 2 implementations
◦ Has two implementations
◦ A relation back-end (part of the Spatial Pack)
Not so Good (not good for large Graphs)
◦ Built on Oracle Big Data/NoSQL technology
◦ Utilises Apache Jena
◦ Get Neil’s thumbs up 
Oracle has nearly two decades of experience working with spatial and graph
database technologies. We have combined this with cutting edge research
from Oracle Labs to deliver advanced analytics for the NoSQL and Hadoop
platform.
Oracle Big Data Spatial and Graph- Q&A with James Steiner,
VP of product management
Melli Annamalai, PhD
Bench Mark – Load Times
0
10
20
30
40
50
60
70
80
20
40
60
80
100
120
140
160
180
200
220
240
(Systap) Bigdata
(Sesame) Postgres
(Oracle) Spatial
(Sesame) File
Time in Minutes
Bench Mark – Retrieval Times
0
5
10
15
20
25
30
35
40
45
20
40
60
80
100
120
140
160
180
200
220
240
(Systap) Bigdata
(Sesame) Postgres
(Oracle) Spatial
(Sesame) File
TriplesRetrieved–1000s
Time in Minutes
My Stuff
Bongo’s Goals
Focus on Tabular Data
◦ Develop an efficient RDF list structure
◦ Creation and Extraction
◦ Integrates with other RDF Implementations
◦ Property Path expression support
◦ Nice Thin and Thick GUIs with an accompanying Command Line Interface
Subject Predicate Object
Triple
Key – only for literals values not resources
Retrieval Patterns
Subject Object Predicate Description
○ Any Any Retrieve all the triplets
for a given subject.
○ ○ Any Retrieve all the triplets for a given
object.
Any ○ Any Retrieve all the triplets for a given
predicate
Any Any ○ Retrieve all triplets for a given
object
Any ○ ○ Retrieve all triplets for a specific
object and predicate combination
○ Any ○ Return all the triplets for a given
subject and object
Any Any Any Return all the triplets contained
with in a graph
○ ○ ○ Determine if a specific triple
pattern exists within a graph
Bongo Architecture
SPARQL
Neils Stuff
ARQ
Cassandra
Cassandra
HBASE
MapDB
Bongo
SPARQL Engine
Bongo – Thin Client
Bongo – Fat Client
Snail
Conclusion
This talk covered:
 RDF
 RDF Structures
 The SPARQL language
 SPARQL Analytical Tools
 Property Paths
 R Integration
 Ontology and Ontological Support
 Triple Store Implementations
 My Stuff
 Bongo
 Snail
Note: Read Foundations of Semantic Web Technologies
Pacscal Hitzler, Markus Krotzsch and Sebastian Rudolph
Easter Egg…
Answer

Weitere ähnliche Inhalte

Was ist angesagt?

Mapping Relational Databases to Linked Data
Mapping Relational Databases to Linked DataMapping Relational Databases to Linked Data
Mapping Relational Databases to Linked DataEUCLID project
 
Creating web applications with LODSPeaKr
Creating web applications with LODSPeaKrCreating web applications with LODSPeaKr
Creating web applications with LODSPeaKrAlvaro Graves
 
Relational Database to RDF (RDB2RDF)
Relational Database to RDF (RDB2RDF)Relational Database to RDF (RDB2RDF)
Relational Database to RDF (RDB2RDF)EUCLID project
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of DataRinke Hoekstra
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapesJose Emilio Labra Gayo
 
SHACL: Shaping the Big Ball of Data Mud
SHACL: Shaping the Big Ball of Data MudSHACL: Shaping the Big Ball of Data Mud
SHACL: Shaping the Big Ball of Data MudRichard Cyganiak
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesJose Emilio Labra Gayo
 
Big Data Processing using Apache Spark and Clojure
Big Data Processing using Apache Spark and ClojureBig Data Processing using Apache Spark and Clojure
Big Data Processing using Apache Spark and ClojureDr. Christian Betz
 
Intro to Linked, Dutch Ships and Sailors and SPARQL handson
Intro to Linked, Dutch Ships and Sailors and SPARQL handson Intro to Linked, Dutch Ships and Sailors and SPARQL handson
Intro to Linked, Dutch Ships and Sailors and SPARQL handson Victor de Boer
 
Data Integration And Visualization
Data Integration And VisualizationData Integration And Visualization
Data Integration And VisualizationIvan Ermilov
 
Spark + Clojure for Topic Discovery - Zalando Tech Clojure/Conj Talk
Spark + Clojure for Topic Discovery - Zalando Tech Clojure/Conj TalkSpark + Clojure for Topic Discovery - Zalando Tech Clojure/Conj Talk
Spark + Clojure for Topic Discovery - Zalando Tech Clojure/Conj TalkZalando Technology
 
Mapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping LanguageMapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping Languageandimou
 
RDF APIs for .NET Framework
RDF APIs for .NET FrameworkRDF APIs for .NET Framework
RDF APIs for .NET FrameworkAdriana Ivanciu
 
Running MRuby in a Database - ArangoDB - RuPy 2012
Running MRuby in a Database - ArangoDB - RuPy 2012 Running MRuby in a Database - ArangoDB - RuPy 2012
Running MRuby in a Database - ArangoDB - RuPy 2012 ArangoDB Database
 
Knowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything ProjectKnowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything ProjectEnrico Daga
 

Was ist angesagt? (20)

RDF, linked data and semantic web
RDF, linked data and semantic webRDF, linked data and semantic web
RDF, linked data and semantic web
 
Mapping Relational Databases to Linked Data
Mapping Relational Databases to Linked DataMapping Relational Databases to Linked Data
Mapping Relational Databases to Linked Data
 
Creating web applications with LODSPeaKr
Creating web applications with LODSPeaKrCreating web applications with LODSPeaKr
Creating web applications with LODSPeaKr
 
Relational Database to RDF (RDB2RDF)
Relational Database to RDF (RDB2RDF)Relational Database to RDF (RDB2RDF)
Relational Database to RDF (RDB2RDF)
 
4 sw architectures and sparql
4 sw architectures and sparql4 sw architectures and sparql
4 sw architectures and sparql
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of Data
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapes
 
SHACL: Shaping the Big Ball of Data Mud
SHACL: Shaping the Big Ball of Data MudSHACL: Shaping the Big Ball of Data Mud
SHACL: Shaping the Big Ball of Data Mud
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectives
 
SPIN in Five Slides
SPIN in Five SlidesSPIN in Five Slides
SPIN in Five Slides
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
Big Data Processing using Apache Spark and Clojure
Big Data Processing using Apache Spark and ClojureBig Data Processing using Apache Spark and Clojure
Big Data Processing using Apache Spark and Clojure
 
Intro to Linked, Dutch Ships and Sailors and SPARQL handson
Intro to Linked, Dutch Ships and Sailors and SPARQL handson Intro to Linked, Dutch Ships and Sailors and SPARQL handson
Intro to Linked, Dutch Ships and Sailors and SPARQL handson
 
Data Integration And Visualization
Data Integration And VisualizationData Integration And Visualization
Data Integration And Visualization
 
Jesús Barrasa
Jesús BarrasaJesús Barrasa
Jesús Barrasa
 
Spark + Clojure for Topic Discovery - Zalando Tech Clojure/Conj Talk
Spark + Clojure for Topic Discovery - Zalando Tech Clojure/Conj TalkSpark + Clojure for Topic Discovery - Zalando Tech Clojure/Conj Talk
Spark + Clojure for Topic Discovery - Zalando Tech Clojure/Conj Talk
 
Mapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping LanguageMapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping Language
 
RDF APIs for .NET Framework
RDF APIs for .NET FrameworkRDF APIs for .NET Framework
RDF APIs for .NET Framework
 
Running MRuby in a Database - ArangoDB - RuPy 2012
Running MRuby in a Database - ArangoDB - RuPy 2012 Running MRuby in a Database - ArangoDB - RuPy 2012
Running MRuby in a Database - ArangoDB - RuPy 2012
 
Knowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything ProjectKnowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything Project
 

Andere mochten auch

Equipo 3 planificador aamtic con ajustes de retroalimentación version 2.
Equipo 3   planificador aamtic  con ajustes de retroalimentación version 2.Equipo 3   planificador aamtic  con ajustes de retroalimentación version 2.
Equipo 3 planificador aamtic con ajustes de retroalimentación version 2.Polo Apolo
 
Maxwell V-2.5 Hendricks Resume(2014)
Maxwell V-2.5 Hendricks Resume(2014)Maxwell V-2.5 Hendricks Resume(2014)
Maxwell V-2.5 Hendricks Resume(2014)Maxwell Hendricks
 
Presentación final
Presentación finalPresentación final
Presentación finaldocentecis
 
Πόθεν έσχες πρ. Βουλευτού Ζωής (Ζέττας) Μακρή - Έτος 2015
Πόθεν έσχες πρ. Βουλευτού Ζωής (Ζέττας) Μακρή - Έτος 2015Πόθεν έσχες πρ. Βουλευτού Ζωής (Ζέττας) Μακρή - Έτος 2015
Πόθεν έσχες πρ. Βουλευτού Ζωής (Ζέττας) Μακρή - Έτος 2015Dimitris Kareklidis
 
Extinção leticia sophia
Extinção leticia sophiaExtinção leticia sophia
Extinção leticia sophiaArgos Santos
 
MONJE GUTIERREZ Susana Informacion Del Ejecutivo O Administrador Y Su Cargo.
MONJE GUTIERREZ Susana Informacion Del Ejecutivo O Administrador Y Su Cargo.
MONJE GUTIERREZ Susana Informacion Del Ejecutivo O Administrador Y Su Cargo.
MONJE GUTIERREZ Susana Informacion Del Ejecutivo O Administrador Y Su Cargo. classyexample1231
 
Tugas laporan uas pbo
Tugas laporan uas pboTugas laporan uas pbo
Tugas laporan uas pboMoch Syahrin
 
BBP Sheffield Bar Detail
BBP Sheffield Bar DetailBBP Sheffield Bar Detail
BBP Sheffield Bar DetailBruce Battaliou
 
DOCUMENTOS FIFA - 10 - EL JUGADOR DE MAÑANA
DOCUMENTOS FIFA - 10 - EL JUGADOR DE MAÑANA DOCUMENTOS FIFA - 10 - EL JUGADOR DE MAÑANA
DOCUMENTOS FIFA - 10 - EL JUGADOR DE MAÑANA Diego Menino
 
Handicap, civisme et stationnement
Handicap, civisme et stationnementHandicap, civisme et stationnement
Handicap, civisme et stationnementRéseau Pro Santé
 
Audio visual aids in commerce education
Audio visual aids in commerce educationAudio visual aids in commerce education
Audio visual aids in commerce educationANJURVSOUPARNIKA
 

Andere mochten auch (16)

Equipo 3 planificador aamtic con ajustes de retroalimentación version 2.
Equipo 3   planificador aamtic  con ajustes de retroalimentación version 2.Equipo 3   planificador aamtic  con ajustes de retroalimentación version 2.
Equipo 3 planificador aamtic con ajustes de retroalimentación version 2.
 
Mobile phone
Mobile phoneMobile phone
Mobile phone
 
Ugame Ulearn
Ugame UlearnUgame Ulearn
Ugame Ulearn
 
Maxwell V-2.5 Hendricks Resume(2014)
Maxwell V-2.5 Hendricks Resume(2014)Maxwell V-2.5 Hendricks Resume(2014)
Maxwell V-2.5 Hendricks Resume(2014)
 
Observar
ObservarObservar
Observar
 
Presentación final
Presentación finalPresentación final
Presentación final
 
Πόθεν έσχες πρ. Βουλευτού Ζωής (Ζέττας) Μακρή - Έτος 2015
Πόθεν έσχες πρ. Βουλευτού Ζωής (Ζέττας) Μακρή - Έτος 2015Πόθεν έσχες πρ. Βουλευτού Ζωής (Ζέττας) Μακρή - Έτος 2015
Πόθεν έσχες πρ. Βουλευτού Ζωής (Ζέττας) Μακρή - Έτος 2015
 
Extinção leticia sophia
Extinção leticia sophiaExtinção leticia sophia
Extinção leticia sophia
 
MONJE GUTIERREZ Susana Informacion Del Ejecutivo O Administrador Y Su Cargo.
MONJE GUTIERREZ Susana Informacion Del Ejecutivo O Administrador Y Su Cargo.
MONJE GUTIERREZ Susana Informacion Del Ejecutivo O Administrador Y Su Cargo.
MONJE GUTIERREZ Susana Informacion Del Ejecutivo O Administrador Y Su Cargo.
 
Sesion 3
Sesion 3Sesion 3
Sesion 3
 
Tugas laporan uas pbo
Tugas laporan uas pboTugas laporan uas pbo
Tugas laporan uas pbo
 
BBP Sheffield Bar Detail
BBP Sheffield Bar DetailBBP Sheffield Bar Detail
BBP Sheffield Bar Detail
 
DOCUMENTOS FIFA - 10 - EL JUGADOR DE MAÑANA
DOCUMENTOS FIFA - 10 - EL JUGADOR DE MAÑANA DOCUMENTOS FIFA - 10 - EL JUGADOR DE MAÑANA
DOCUMENTOS FIFA - 10 - EL JUGADOR DE MAÑANA
 
Handicap, civisme et stationnement
Handicap, civisme et stationnementHandicap, civisme et stationnement
Handicap, civisme et stationnement
 
Ict lesson plan
Ict lesson plan Ict lesson plan
Ict lesson plan
 
Audio visual aids in commerce education
Audio visual aids in commerce educationAudio visual aids in commerce education
Audio visual aids in commerce education
 

Ähnlich wie A Little SPARQL in your Analytics

State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic WebIvan Herman
 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQLLino Valdivia
 
RDF SHACL, Annotations, and Data Frames
RDF SHACL, Annotations, and Data FramesRDF SHACL, Annotations, and Data Frames
RDF SHACL, Annotations, and Data FramesKurt Cagle
 
A hands on overview of the semantic web
A hands on overview of the semantic webA hands on overview of the semantic web
A hands on overview of the semantic webMarakana Inc.
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsRinke Hoekstra
 
Graph databases & data integration v2
Graph databases & data integration v2Graph databases & data integration v2
Graph databases & data integration v2Dimitris Kontokostas
 
Semantic Web
Semantic WebSemantic Web
Semantic Webhardchiu
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLMyungjin Lee
 
Sesam4 project presentation sparql - april 2011
Sesam4   project presentation sparql - april 2011Sesam4   project presentation sparql - april 2011
Sesam4 project presentation sparql - april 2011sesam4able
 
Sesam4 project presentation sparql - april 2011
Sesam4   project presentation sparql - april 2011Sesam4   project presentation sparql - april 2011
Sesam4 project presentation sparql - april 2011Robert Engels
 
Graph Analytics in Spark
Graph Analytics in SparkGraph Analytics in Spark
Graph Analytics in SparkPaco Nathan
 
GraphX: Graph analytics for insights about developer communities
GraphX: Graph analytics for insights about developer communitiesGraphX: Graph analytics for insights about developer communities
GraphX: Graph analytics for insights about developer communitiesPaco Nathan
 
Semantic web and Drupal: an introduction
Semantic web and Drupal: an introductionSemantic web and Drupal: an introduction
Semantic web and Drupal: an introductionKristof Van Tomme
 
20100614 ISWSA Keynote
20100614 ISWSA Keynote20100614 ISWSA Keynote
20100614 ISWSA KeynoteAxel Polleres
 
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...Ross Singer
 
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...BigDataEverywhere
 
Facet: Building Web Pages with SPARQL
Facet: Building Web Pages with SPARQLFacet: Building Web Pages with SPARQL
Facet: Building Web Pages with SPARQLLeigh Dodds
 

Ähnlich wie A Little SPARQL in your Analytics (20)

State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
 
RDF SHACL, Annotations, and Data Frames
RDF SHACL, Annotations, and Data FramesRDF SHACL, Annotations, and Data Frames
RDF SHACL, Annotations, and Data Frames
 
A hands on overview of the semantic web
A hands on overview of the semantic webA hands on overview of the semantic web
A hands on overview of the semantic web
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
 
Graph databases & data integration v2
Graph databases & data integration v2Graph databases & data integration v2
Graph databases & data integration v2
 
Semantic Web
Semantic WebSemantic Web
Semantic Web
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQL
 
Sesam4 project presentation sparql - april 2011
Sesam4   project presentation sparql - april 2011Sesam4   project presentation sparql - april 2011
Sesam4 project presentation sparql - april 2011
 
Sesam4 project presentation sparql - april 2011
Sesam4   project presentation sparql - april 2011Sesam4   project presentation sparql - april 2011
Sesam4 project presentation sparql - april 2011
 
Graph Analytics in Spark
Graph Analytics in SparkGraph Analytics in Spark
Graph Analytics in Spark
 
GraphX: Graph analytics for insights about developer communities
GraphX: Graph analytics for insights about developer communitiesGraphX: Graph analytics for insights about developer communities
GraphX: Graph analytics for insights about developer communities
 
Semantic web and Drupal: an introduction
Semantic web and Drupal: an introductionSemantic web and Drupal: an introduction
Semantic web and Drupal: an introduction
 
Drupal and the Semantic Web
Drupal and the Semantic WebDrupal and the Semantic Web
Drupal and the Semantic Web
 
20100614 ISWSA Keynote
20100614 ISWSA Keynote20100614 ISWSA Keynote
20100614 ISWSA Keynote
 
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...
 
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
 
AnzoGraph DB - SPARQL 101
AnzoGraph DB - SPARQL 101AnzoGraph DB - SPARQL 101
AnzoGraph DB - SPARQL 101
 
Linked data and voyager
Linked data and voyagerLinked data and voyager
Linked data and voyager
 
Facet: Building Web Pages with SPARQL
Facet: Building Web Pages with SPARQLFacet: Building Web Pages with SPARQL
Facet: Building Web Pages with SPARQL
 

Kürzlich hochgeladen

Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...dajasot375
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectBoston Institute of Analytics
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryJeremy Anderson
 
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样vhwb25kk
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...Boston Institute of Analytics
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改yuu sss
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdfHuman37
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceSapana Sha
 
MK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxMK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxUnduhUnggah1
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPramod Kumar Srivastava
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一F sss
 
IMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxIMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxdolaknnilon
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptxthyngster
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfchwongval
 
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档208367051
 

Kürzlich hochgeladen (20)

Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis Project
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data Story
 
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
 
Call Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort ServiceCall Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort Service
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts Service
 
E-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptxE-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptx
 
MK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxMK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docx
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
 
IMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxIMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptx
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdf
 
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
 

A Little SPARQL in your Analytics

  • 1. A Little SPARQL in your Analytics Dr. Neil Brittliff
  • 2. Introduction The Semantic Web, as originally envisioned, is a system that enables machines to "understand" and respond to complex human requests based on their meaning. Such an "understanding" requires that the relevant information sources be semantically structured. Tim Berners-Lee originally expressed the vision of the Semantic Web as follows: I have a dream for the Web [in which computers] become capable of analysing all the data on the Web – the content, links, and transactions between people and computers. A "Semantic Web", which makes this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines.
  • 3. Some other thoughts… Are you a member of the SPARQL cult Alex Karp CEO Palantir Its about graphs not trees Pascal Hitzler Professor and Director of Data Science at the Department of Computer Science and Engineering at Wright State University in Dayton, Ohio In the six degrees of separation, not all degrees are equal. Malcolm Gladwell, The Tipping Point: How Little Things Can Make a Big Difference
  • 4. The Talk Structure Triples and RDF ◦ What is the Big Deal Resource Description Framework (RDF) ◦ A formal way to represent information ◦ Some of Nomenclature ◦ Some data structures SPARQL ◦ A language not dissimilar to SQL but can interrogate the Semantic Web Ontological Representations ◦ A formal way to describe structure Analytics ◦ Some SNA stuff The Triple Store Implementations Some of my stuff – Dealing with Massive RDF Lists
  • 7. The Triple Subject Predicate Object Resource or Blank Resource Resource, Literal or Blank Triple Note: The URL can identify data in the cloud or on premise. Note: No need for NULLs
  • 8. RDF • RDF - Resource Description Framework and it is a flexible schema- less data model • Standards based – W3C • RDF Syntax o N3/Turtle o XML • Predefined RDF Structures o Bag o Seq o Alt o List These are the only data structures
  • 9. RDF Representation @prefix p: <http://www.example.org/personal_details#> . @prefix m: <http://www.example.org/meeting_organization#> . @prefix g: <http://www.another.example.org/geographical#> <http://www.example.org/people#fred> p:GivenName "fred"; p:hasEmail <mailto:fred@example.com>; m:attending <http://meetings.example.com/cal#m1> . <http://meetings.example.com/cal#m1> g:Location [ g:zip "02139"; g:lat "14.124425"; g:long "14.245" ]; <http://meetings.example.com/cal#m1> m:homePage <http://meetings.example.com/m1/hp> “14.124425". g:zip g:lat g:long “02139". “14.245". http://meetings.example.com/cal#m1 g:location CURIE
  • 10. RDF Property Constants Note: A Predicate is also referred to as property used when the object is a Literal Property Description Usage rdf:first First Element in a list rdf:Property rdf:rest Rest of the List rdf:Property rdf:_i List Sequence rdf:Property rdf:nil End of the List rdf:Resource Note: If a Predicate is a number the number value is preceded by an underscore _
  • 11. Nodes and the Blank Nodes "2010-09-29". genid:ARP11 sf:Phone-Mobile sf:marial-status sf:DOB “single". sf:mode “car". sf:gender “555-1278-4343". “F". "2010-09-29". sf:Phone-Mobile sf:marial-status sf:DOB “single". sf:mode “car". sf:gender “555-1278-4343". “F". genid:ARP11 p:GivenName "fred"; p:hasEmail <mailto:fred@example.com>; m:attending <http://meetings.example.com/cal#m1> Note: Blank nodes are not idempotent !!! _:a1
  • 12. RDF Structures <rdf:Description rdf:about="http://science-fiction-book/uri"> <ex:authors> <rdf:Bag> <rdf:li "Asimov"> <rdf:li "Dick"> <rdf:li "Heinlein"> </rdf:Seq> </ex:authors> </rdf:Description @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix d: <http://learningsparql.com/ns/data#> . d:myList d:contents _:b1 . _:b1 rdf:first "one" . _:b1 rdf:rest _:b2 . _:b2 rdf:first "two" . _:b2 rdf:rest _:b3 . _:b3 rdf:first "three" . _:b3 rdf:rest _:b4 . _:b4 rdf:first "four" . _:b4 rdf:rest _:b5 . _:b5 rdf:first "five" . _:b5 rdf:rest rdf:nil . “one"_:b1 “two"_:b2 “three"_:b3 “four"_:b4 _:b5 “five" rdf:nil d:mylist rdf:first rdf:first rdf:first rdf:first rdf:first rdf:rest rdf:rest rdf:rest rdf:rest rdf:rest d:contents
  • 13. SPARQL SPARQL(pronounced "sparkle", a recursive acronym[2] for SPARQL Protocol and RDF Query Language) is an RDF query language, that is, a semantic query language for databases, able to retrieve and manipulate data stored in Resource Description Framework (RDF) format. It was made a standard by the RDF Data Access Working Group (DAWG) of the World Wide Web Consortium, and is recognized as one of the key technologies of the semantic web. On 15 January 2008, SPARQL 1.0 became an official W3C Recommendation, and SPARQL 1.1 in March, 2013. Note: Source Wikipedia
  • 14. The Language Structure PREFIX abc: <nul://sparql/exampleOntology#> . SELECT ?capital ?country WHERE { ?x abc:cityname ?capital ; <nul://sparql/exampleOntology#isCapitalOf> ?y. ?y abc:countryname ?country ; abc:isInContinent abc:Africa. } CURI Resource Note: It is a bit like an SQL Select Statement Fully Qualified Triple Variable
  • 15. Construct CONSTRUCT { ?article dwc:articleTaxonName ?name } WHERE { ?x txn:hasWikipediaArticle ?article. ?x txn:scientificName ?name. ?x a txn:SpeciesConcept. ?x txn:kingdom "Plantae". } LIMIT 10 Note: Always returns RDF (triples) !!!
  • 16. Describe DESCRIBE ?x WHERE { ?x a txn:Occurrence. ?x dcterms:date "2010-09-29". } LIMIT 10 txn:Occurrence "2010-09-29". Note: Describe always returns RDF ! Node to describe
  • 17. Ask ASK { ?x a txn:Occurrence. ?x dcterms:date "2010-09-29". } Yes or No
  • 18. Select SELECT ?person ?name ?email WHERE { ?person foaf:email ?email. ?person foaf:name ?name. ?person foaf:skill "internet". } LIMIT 50 Note: Results are returned in a tabular format
  • 19. Results from the Select person name email <http://www.w3.org/People/karl/karl-foaf.xrdf#me> "Karl Dubost" <mailto:karl@w3.org> <http://www.w3.org/People/card#amy> "Amy van der Hiel" <mailto:amy@w3.org> <http://www.w3.org/People/card#edd> "Edd Dumbill" <mailto:edd@xmlhack.com> <http://www.w3.org/People/card#dj> "Dean Jackson" <mailto:dean@w3.org> <http://www.w3.org/People/card#edd> "Edd Dumbill" <mailto:edd@usefulinc.com> <http://www.aaronsw.com/about.xrdf#aaronsw> "Aaron Swartz" <mailto:me@aaronsw.com> <http://www.w3.org/People/card#i> "Timothy Berners-Lee" <mailto:timbl@w3.org> <http://www.w3.org/People/EM/contact#me> "Eric Miller" <mailto:em@w3.org> <http://www.w3.org/People/card#edd> "Edd Dumbill" <mailto:edd@xml.com> <http://www.w3.org/People/card#dj> "Dean Jackson" <mailto:dino@grorg.org> <http://www.w3.org/People/card#libby> "Libby Miller" <mailto:libby.miller@bristol.ac.uk> <http://www.w3.org/People/Connolly/#me> "Dan Connolly" <mailto:connolly@w3.org>
  • 20. Select - Optional PREFIX mo: <http://purl.org/ontology/mo/> . PREFIX foaf: <http://xmlns.com/foaf/0.1/> . SELECT ?name ?img ?hp ?loc WHERE { ?a a mo:MusicArtist ; foaf:name ?name . OPTIONAL { ?a foaf:img ?img } OPTIONAL { ?a foaf:homepage ?hp } OPTIONAL { ?a foaf:based_near ?loc } }
  • 21. The Optional Clause Result foaf:based_near foaf:name foaf:based_near foaf:img foaf:homepage mo:MusicArtist foaf:name mo:MusicArtist foaf:based_near foaf:name foaf:homepage foaf:img foaf:img
  • 22. Select - Filter PREFIX prop: <http://dbpedia.org/property/> . ASK WHERE { <http://dbpedia.org/resource/Amazon_River> prop:length ?amazon . <http://dbpedia.org/resource/Nile> prop:length ?nile . FILTER(?amazon > ?nile) . } Note: Filters are applied after the results are selected Note: Filters can appear anywhere within the SELECT statement
  • 23. Alternatives - Union PREFIX go: <http://purl.org/obo/owl/GO#> . PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> . PREFIX odo: <http://www.obofoundry.org/ro/ro.owl#> . SELECT DISTINCT ?label ?process COUNT(*) AS ?count WHERE { { ?process obo:part_of go:GO_0007165 } UNION { ?process rdfs:subClassOf go:GO_0007165 } ?process rdfs:label ?label } GROUP BY ?label ORDER BY DESC(COUNT(*)) GROUP BY ?interest ORDER BY DESC(COUNT(*)) COUNT(*) AS ?count
  • 24. SPARQL - Update PREFIX prop: <http://dbpedia.org/property/> . PREFIX dc: <http://purl.org/dc/elements/1.1/> INSERT DATA { <http://example/book1> dc:title "A new book" ; dc:creator "A.N.Other" . } PREFIX dc: <http://purl.org/dc/elements/1.1/> DELETE DATA { <http://example/book2> dc:title "David Copperfield" ; dc:creator "Edmund Wells" . } Note: You can only insert and delete triplets
  • 25. Quads – The Graph CONSTRUCT { GRAPH :g { ?s :p ?o } { ?s :p ?o } <http://purl.org/obo/owl/GO#> { :s ?p :o } WHERE { . . . } Note: Can be seen as a schema in a relational database Default Graph URI
  • 27. Property Paths Syntax Form Matches uri A URI or a prefixed name. A path of length one. ^elt Inverse path (object to subject). (elt) A group path elt, brackets control precedence. elt1 / elt2 A sequence path of elt1, followed by elt2 elt1 ^ elt2 Shorthand for elt1 / ^elt2, that is elt1 followed by the inverse of elt2. elt1 | elt2 A alternative path of elt1, or elt2 (all possibilities are tried). elt* A path of zero or more occurrences of elt. elt+ A path of one or more occurrences of elt. elt? A path of zero or one elt. elt{n,m} A path between n and m occurrences of elt. elt{n} Exactly n occurrences of elt. A fixed length path. elt{n,} n or more occurrences of elt. elt{,n} Between 0 and n occurrences of elt. SELECT ?value WHERE { :list rdf:rest* [] [] rdf:first ?value } Note: Note the use [] this tells the SPARQL parser that the triples share a common resource.
  • 28. Property Paths cont… PREFIX d: <http://learningsparql.com/ns/data#> SELECT ?item WHERE { d:myList d:contents/rdf:rest{2}/rdf:first ?item } ----------- | item | =========== | "three" | -----------
  • 29. SPARQL and R install.packages(c('SPARQL','igraph','network','ergm'),dependencies=TRUE) library(SPARQL) library(igraph) library(network) library(ergm) endpoint <- "http://live.dbpedia.org/sparql" sparql_prefix <- "PREFIX dbp: <http://dbpedia.org/property/> PREFIX dc: <http://purl.org/dc/terms/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> " q <- paste(sparql_prefix, 'SELECT ?actor ?movie ?director ?movie_date WHERE { ?m dc:subject <http://dbpedia.org/resource/Category:American_films> . ?m rdfs:label ?movie . FILTER(LANG(?movie) = "en") ?m dbp:released ?movie_date . FILTER(DATATYPE(?movie_date) = xsd:date) ?m dbp:starring ?a . ?a rdfs:label ?actor . FILTER(LANG(?actor) = "en") ?m dbp:director ?d . ?d rdfs:label ?director . FILTER(LANG(?director) = "en") }') res <- SPARQL(endpoint,q,ns=prefix,extra=options) $results
  • 32. RDFS RDF Schema (or RDFS) defines classes and properties. The resources in the RDFS vocabulary have URIrefs beginning with http://www.w3.org/2000/01/rdf-schema# ex:Vehicle rdf:type rdfs:Class. ex:Car rdfs:subClassOf ex:Vehicle . ex:Van rdfs:subClassOf ex:Vehicle . ex:Truck rdfs:subClassOf ex:Vehicle . ex:MiniVan rdfs:subClassOf ex:Van . ex:MiniVan rdfs:subClassOf ex:Car . Class Vehicle Van MiniVan Truck Car MiniVan
  • 33. OWL The Ontology Web Language (OWL) is a family of knowledge representation languages for authoring ontologies. Ontologies are a formal way to describe taxonomies and classification networks, essentially defining the structure of knowledge for various domains: the nouns representing classes of objects and the verbs representing relations between the objects. <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Tosca" /> <owl:Thing rdf:about="#Salome" /> </owl:oneOf> </owl:Class> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Turandot" /> <owl:Thing rdf:about="#Tosca" /> </owl:oneOf> </owl:Class> </owl:intersectionOf> </owl:Class> OWL is intended to be used when the information contained in documents needs to be processed by applications, as opposed to situations where the content only needs to be presented to humans. OWL can be used to explicitly represent the meaning of terms in vocabularies and the relationships between those terms. OWL has more facilities for expressing meaning and semantics than XML, RDF, and RDFS, and thus OWL goes beyond these languages in its ability to represent machine interpretable content on the Web.
  • 34. Reification @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix : <http://example/ns#> . _:a rdf:subject <http://example.org/book/book1> . _:a rdf:predicate dc:title . _:a rdf:book "SPARQL" . _:a :saidBy "Alice" . _:b rdf:subject <http://example.org/book/book1> . _:b rdf:predicate dc:title . _:b rdf:book "SPARQL Tutorial" . _:b rdf:video "SPARQL Queries" . _:b :saidBy "Bob" . PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX : <http://example/ns#> SELECT ?book ?title WHERE { ?t rdf:subject ?book . ?t rdf:predicate dc:title . ?t rdf:object ?title . ?t :saidBy "Bob" . } book title <http://example.org/book/book1> "SPARQL Tutorial" <http://example.org/book/book1> "SPARQL Queries"
  • 35. Ontologies The Friend Of A Friend (FOAF) ontology Project homepage: http://www.foaf-project.org/ Namespace: http://xmlns.com/foaf/0.1/ Typical prefix: foaf: Documentation: http://xmlns.com/foaf/spec/ The Dublin Core (DC) ontology Project homepage: http://dublincore.org/ Namespace: http://purl.org/dc/elements/1.1/ and http://purl.org/dc/terms/ Typical prefix: dc: and dcterm: Documentation: http://dublincore.org/specifications/ Description: this is a light weight RDFS vocabulary for describing generic metadata.
  • 36. Ontologies cont… VCARD Project homepage: http://www.w3.org/TR/vcard-rdf/ Namespace: http://www.w3.org/2006/vcard/ns#/ Typical prefix: vcard: Documentation: hp://www.w3.org/TR/vcard-rdf/ <vcard:Individual rdf:about="http://example.com/me/corky"> <vcard:fn>Corky Crystal</vcard:fn> <vcard:nickname>Corks</vcard:nickname> <vcard:hasEmail rdf:resource="mailto:corky@example.com"/> </vcard:Individual>
  • 38. Aduna Sesame Aduna Sesame ◦ Multiple back-end relational database support ◦ MYSQL ◦ PostgresDB ◦ Oracle (Provided by Oracle) ◦ Various Third Party Implementations ◦ Limited support for the property path expression ◦ Not great for massive graph retrievals ◦ Comes with a complient REST interface ◦ Excellent Management Console
  • 39. Sesame Back-ends Ontotext GraphDB™ Ontotext GraphDB™ (formerly OWLIM) is a leading RDF Triplestore built on OWL (Ontology Web Language) standards, and fully compatible with the Sesame APIs. GraphDB handles massive loads, queries and OWL inferencing in real time. Ontotext offers three versions: GraphDB™ Lite, GraphDB™ Standard and GraphDB™ Enterprise. CumulusRDF CumulusRDF is an RDF store on a cloud-based architecture, fully compatible with the Sesame APIs. CumulusRDF provides a REST-based API with CRUD operations to manage RDF data. The current version uses Apache Cassandra as storage backend. Systap Blazegraph™ Blazegraph™ (formerly known as Bigdata) is an enterprise graph database by Systap, LLC that provides a horizontally scaling, fully Sesame-compatible, storage and retrieval solution for very large volumes of RDF.
  • 40. Apache Jena Apache Jena ◦ Multiple back-end relational database support ◦ Does support property paths ◦ OK on large graph retrievals ARQ (SPARQL) Query your RDF data using ARQ, a SPARQL 1.1compliant engine. ARQ supports remote federated queries and free text search. Fuseki Expose your triples as a SPARQL end-point accessible over HTTP. Fuseki provides REST-style interaction with your RDF data. Inference API Reason over your data to expand and check the content of your triple store. Configure your own inference rules or use the built-in OWL and RDFS reasoners. Note: Originally developed by Hewlett Packard
  • 41. AllegroGraph AllegroGraph ◦ Utilises Aduna Sesame Infrastructure ◦ Very Fast ◦ Supports ‘free text’ ◦ Supports Geospatial search
  • 42. Oracle Has 2 implementations ◦ Has two implementations ◦ A relation back-end (part of the Spatial Pack) Not so Good (not good for large Graphs) ◦ Built on Oracle Big Data/NoSQL technology ◦ Utilises Apache Jena ◦ Get Neil’s thumbs up  Oracle has nearly two decades of experience working with spatial and graph database technologies. We have combined this with cutting edge research from Oracle Labs to deliver advanced analytics for the NoSQL and Hadoop platform. Oracle Big Data Spatial and Graph- Q&A with James Steiner, VP of product management Melli Annamalai, PhD
  • 43. Bench Mark – Load Times 0 10 20 30 40 50 60 70 80 20 40 60 80 100 120 140 160 180 200 220 240 (Systap) Bigdata (Sesame) Postgres (Oracle) Spatial (Sesame) File Time in Minutes
  • 44. Bench Mark – Retrieval Times 0 5 10 15 20 25 30 35 40 45 20 40 60 80 100 120 140 160 180 200 220 240 (Systap) Bigdata (Sesame) Postgres (Oracle) Spatial (Sesame) File TriplesRetrieved–1000s Time in Minutes
  • 46. Bongo’s Goals Focus on Tabular Data ◦ Develop an efficient RDF list structure ◦ Creation and Extraction ◦ Integrates with other RDF Implementations ◦ Property Path expression support ◦ Nice Thin and Thick GUIs with an accompanying Command Line Interface Subject Predicate Object Triple Key – only for literals values not resources
  • 47. Retrieval Patterns Subject Object Predicate Description ○ Any Any Retrieve all the triplets for a given subject. ○ ○ Any Retrieve all the triplets for a given object. Any ○ Any Retrieve all the triplets for a given predicate Any Any ○ Retrieve all triplets for a given object Any ○ ○ Retrieve all triplets for a specific object and predicate combination ○ Any ○ Return all the triplets for a given subject and object Any Any Any Return all the triplets contained with in a graph ○ ○ ○ Determine if a specific triple pattern exists within a graph
  • 49. Bongo – Thin Client
  • 50. Bongo – Fat Client
  • 51. Snail
  • 52. Conclusion This talk covered:  RDF  RDF Structures  The SPARQL language  SPARQL Analytical Tools  Property Paths  R Integration  Ontology and Ontological Support  Triple Store Implementations  My Stuff  Bongo  Snail Note: Read Foundations of Semantic Web Technologies Pacscal Hitzler, Markus Krotzsch and Sebastian Rudolph

Hinweis der Redaktion

  1. RDF defines a reification vocabulary which provides for describing RDF statements without stating them. These descriptions of statements can be queried by using the defined vocabulary.