SlideShare a Scribd company logo
2
Most read
4
Most read
6
Most read
SPIN in Five Slideshttp://spinrdf.orgHolger Knublauch, TopQuadrant Inc.holger@topquadrant.comExample file: http://topbraid.org/examples/spinsquare.ttlOpen Source API: http://topbraid.org/spin/api/
SPIN is an RDF Syntax for SPARQLSPIN provides a vocabulary to represent SPARQL queries as RDF triples.BenefitsStores SPARQL queries together with modelEasy to share on the semantic webReferential integrity (true resource references)Namespaces are managed once, not for every query# Width and height must be equalASKWHERE {    ?thisss:width ?width .    ?thisss:height ?height .    FILTER (?width != ?height) .}[ a       sp:Ask ;                rdfs:comment "Width and height must be equal"^^xsd:string ;                sp:where ([ sp:object _:b1 ;                            sp:predicatess:width ;                            sp:subjectspin:_this                          ] [ sp:object _:b2 ;                            sp:predicatess:height ;                            sp:subjectspin:_this                          ] [ a       sp:Filter ;                            sp:expression [ a sp:ne ; sp:arg1 _:b1 ; sp:arg2 _:b2                                    ]                          ])              ] .
SPIN is a SPARQL Constraint LanguageThe property spin:constraint can be used to link a class with SPARQL queries that formalize invariants for the members of that class.BenefitsNatural object-oriented way of modelingSPARQL is very expressive Constraints can be natively executed by SPARQL engines of the databaseEasy to combine with other SPARQL constraint bases like SKOS SPIN
SPIN is a SPARQL Rules LanguageThe property spin:rulecan be used to link a class with SPARQL CONSTRUCT queries that define inference rules for the members of the classBenefitsNatural object-oriented way of modelingSPARQL is very expressive Rules can be natively executed by SPARQL engines of the databaseEasy to combine with other SPARQL rule bases like OWL RL
SPIN can define SPARQL Functionsspin:Function can be used to define new SPARQL functions that use other SPARQL queries as their bodies.BenefitsCan be used to modularize and extend SPARQLFully declarative and web friendly: functions are stored in RDFGreatly extend the expressivity of SPARQL (recursion etc)Simple form of backward chaining, computing sub-queries on demandCONSTRUCT{    ?thisss:area ?area .}WHERE {    LET (?area := ss:computeArea(?this)) .}
SPIN can store reusable SPARQL queriesspin:Templatecan be used to wrap SPARQL queries into reusable building blocks so that they can be instantiated with argumentsBenefitsSupports object-oriented reuse of modeling patternsDefines domain-specific languagesEasy to fill in the blanks by people with no SPARQL expertise

More Related Content

What's hot (20)

PPT
Introduction To RDF and RDFS
Nilesh Wagmare
 
PPTX
The Semantic Web #9 - Web Ontology Language (OWL)
Myungjin Lee
 
PDF
Data ingestion and distribution with apache NiFi
Lev Brailovskiy
 
PPTX
RDF data validation 2017 SHACL
Jean-Paul Calbimonte
 
PPTX
RDF, linked data and semantic web
Jose Emilio Labra Gayo
 
PPT
Rdf
Imran Babar
 
PPTX
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
Omid Vahdaty
 
PDF
Introduction to PySpark
Russell Jurney
 
PPTX
Semantic web meetup – sparql tutorial
AdonisDamian
 
PDF
Python Flask Tutorial For Beginners | Flask Web Development Tutorial | Python...
Edureka!
 
PDF
Building RESTful applications using Spring MVC
IndicThreads
 
PPTX
Model Your Application Domain, Not Your JSON Structures
Markus Lanthaler
 
PDF
Introduction to elasticsearch
pmanvi
 
PDF
DSpace 7 - The Angular UI from a user’s perspective
Atmire
 
PPTX
FIWARE Wednesday Webinars - How to Design DataModels
FIWARE
 
PPSX
Rest api standards and best practices
Ankita Mahajan
 
PPT
Introduction to RDF
Narni Rajesh
 
PDF
Distributed Models Over Distributed Data with MLflow, Pyspark, and Pandas
Databricks
 
PPTX
SHACL: Shaping the Big Ball of Data Mud
Richard Cyganiak
 
PDF
Pl sql student guide v 1
Nexus
 
Introduction To RDF and RDFS
Nilesh Wagmare
 
The Semantic Web #9 - Web Ontology Language (OWL)
Myungjin Lee
 
Data ingestion and distribution with apache NiFi
Lev Brailovskiy
 
RDF data validation 2017 SHACL
Jean-Paul Calbimonte
 
RDF, linked data and semantic web
Jose Emilio Labra Gayo
 
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
Omid Vahdaty
 
Introduction to PySpark
Russell Jurney
 
Semantic web meetup – sparql tutorial
AdonisDamian
 
Python Flask Tutorial For Beginners | Flask Web Development Tutorial | Python...
Edureka!
 
Building RESTful applications using Spring MVC
IndicThreads
 
Model Your Application Domain, Not Your JSON Structures
Markus Lanthaler
 
Introduction to elasticsearch
pmanvi
 
DSpace 7 - The Angular UI from a user’s perspective
Atmire
 
FIWARE Wednesday Webinars - How to Design DataModels
FIWARE
 
Rest api standards and best practices
Ankita Mahajan
 
Introduction to RDF
Narni Rajesh
 
Distributed Models Over Distributed Data with MLflow, Pyspark, and Pandas
Databricks
 
SHACL: Shaping the Big Ball of Data Mud
Richard Cyganiak
 
Pl sql student guide v 1
Nexus
 

Similar to SPIN in Five Slides (20)

PPTX
SPIN and Shapes
Holger Knublauch
 
PPT
A hands on overview of the semantic web
Marakana Inc.
 
PPTX
SPARQL-DL - Theory & Practice
Adriel Café
 
PPTX
What;s Coming In SPARQL2?
LeeFeigenbaum
 
PPT
SPARQL and SQL: technical aspects and synergy
Yannis Kalfoglou
 
PDF
eureka09
tutorialsruby
 
PDF
eureka09
tutorialsruby
 
PPT
Querying the Semantic Web with SPARQL
Emanuele Della Valle
 
PDF
Web Spa
Constantin Stan
 
PDF
Solr 8 interview
Alihossein shahabi
 
PPTX
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Simplilearn
 
PDF
A Hands On Overview Of The Semantic Web
Shamod Lacoul
 
PPTX
Semantic web for ontology chapter4 bynk
Namgee Lee
 
PPT
SPARQL in the Semantic Web
Jan Beeck
 
PDF
Sparql semantic information retrieval by
IJNSA Journal
 
PDF
Sparql service-description
STIinnsbruck
 
PDF
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
IJNSA Journal
 
PPTX
SPARQL 1.1 Status
LeeFeigenbaum
 
PPT
Re-using Media on the Web: Media fragment re-mixing and playout
MediaMixerCommunity
 
PDF
Sparql a simple knowledge query
Stanley Wang
 
SPIN and Shapes
Holger Knublauch
 
A hands on overview of the semantic web
Marakana Inc.
 
SPARQL-DL - Theory & Practice
Adriel Café
 
What;s Coming In SPARQL2?
LeeFeigenbaum
 
SPARQL and SQL: technical aspects and synergy
Yannis Kalfoglou
 
eureka09
tutorialsruby
 
eureka09
tutorialsruby
 
Querying the Semantic Web with SPARQL
Emanuele Della Valle
 
Solr 8 interview
Alihossein shahabi
 
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Simplilearn
 
A Hands On Overview Of The Semantic Web
Shamod Lacoul
 
Semantic web for ontology chapter4 bynk
Namgee Lee
 
SPARQL in the Semantic Web
Jan Beeck
 
Sparql semantic information retrieval by
IJNSA Journal
 
Sparql service-description
STIinnsbruck
 
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
IJNSA Journal
 
SPARQL 1.1 Status
LeeFeigenbaum
 
Re-using Media on the Web: Media fragment re-mixing and playout
MediaMixerCommunity
 
Sparql a simple knowledge query
Stanley Wang
 
Ad

SPIN in Five Slides

  • 1. SPIN in Five Slideshttp://spinrdf.orgHolger Knublauch, TopQuadrant [email protected] file: http://topbraid.org/examples/spinsquare.ttlOpen Source API: http://topbraid.org/spin/api/
  • 2. SPIN is an RDF Syntax for SPARQLSPIN provides a vocabulary to represent SPARQL queries as RDF triples.BenefitsStores SPARQL queries together with modelEasy to share on the semantic webReferential integrity (true resource references)Namespaces are managed once, not for every query# Width and height must be equalASKWHERE {    ?thisss:width ?width .    ?thisss:height ?height .    FILTER (?width != ?height) .}[ a       sp:Ask ;                rdfs:comment "Width and height must be equal"^^xsd:string ;                sp:where ([ sp:object _:b1 ;                            sp:predicatess:width ;                            sp:subjectspin:_this                          ] [ sp:object _:b2 ;                            sp:predicatess:height ;                            sp:subjectspin:_this                          ] [ a       sp:Filter ;                            sp:expression [ a sp:ne ; sp:arg1 _:b1 ; sp:arg2 _:b2                                    ]                          ])              ] .
  • 3. SPIN is a SPARQL Constraint LanguageThe property spin:constraint can be used to link a class with SPARQL queries that formalize invariants for the members of that class.BenefitsNatural object-oriented way of modelingSPARQL is very expressive Constraints can be natively executed by SPARQL engines of the databaseEasy to combine with other SPARQL constraint bases like SKOS SPIN
  • 4. SPIN is a SPARQL Rules LanguageThe property spin:rulecan be used to link a class with SPARQL CONSTRUCT queries that define inference rules for the members of the classBenefitsNatural object-oriented way of modelingSPARQL is very expressive Rules can be natively executed by SPARQL engines of the databaseEasy to combine with other SPARQL rule bases like OWL RL
  • 5. SPIN can define SPARQL Functionsspin:Function can be used to define new SPARQL functions that use other SPARQL queries as their bodies.BenefitsCan be used to modularize and extend SPARQLFully declarative and web friendly: functions are stored in RDFGreatly extend the expressivity of SPARQL (recursion etc)Simple form of backward chaining, computing sub-queries on demandCONSTRUCT{    ?thisss:area ?area .}WHERE {    LET (?area := ss:computeArea(?this)) .}
  • 6. SPIN can store reusable SPARQL queriesspin:Templatecan be used to wrap SPARQL queries into reusable building blocks so that they can be instantiated with argumentsBenefitsSupports object-oriented reuse of modeling patternsDefines domain-specific languagesEasy to fill in the blanks by people with no SPARQL expertise