SlideShare uma empresa Scribd logo
1 de 6
SPIN in Five Slideshttp://spinrdf.org Holger Knublauch, TopQuadrant Inc. holger@topquadrant.com Example file: http://topbraid.org/examples/spinsquare.ttl Open Source API: http://topbraid.org/spin/api/
SPIN is an RDF Syntax for SPARQL SPIN provides a vocabulary to represent SPARQL queries as RDF triples. Benefits Stores SPARQL queries together with model Easy to share on the semantic web Referential integrity (true resource references) Namespaces are managed once, not for every query # Width and height must be equal ASKWHERE {     ?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 Language The property spin:constraint can be used to link a class with SPARQL queries that formalize invariants for the members of that class. Benefits Natural object-oriented way of modeling SPARQL is very expressive  Constraints can be natively executed by SPARQL engines of the database Easy to combine with other SPARQL constraint bases like SKOS SPIN
SPIN is a SPARQL Rules Language The property spin:rulecan be used to link a class with SPARQL CONSTRUCT queries that define inference rules for the members of the class Benefits Natural object-oriented way of modeling SPARQL is very expressive  Rules can be natively executed by SPARQL engines of the database Easy to combine with other SPARQL rule bases like OWL RL
SPIN can define SPARQL Functions spin:Function can be used to define new SPARQL functions that use other SPARQL queries as their bodies. Benefits Can be used to modularize and extend SPARQL Fully declarative and web friendly: functions are stored in RDF Greatly extend the expressivity of SPARQL (recursion etc) Simple form of backward chaining, computing sub-queries on demand CONSTRUCT{     ?thisss:area ?area . } WHERE {     LET (?area := ss:computeArea(?this)) . }
SPIN can store reusable SPARQL queries spin:Templatecan be used to wrap SPARQL queries into reusable building blocks so that they can be instantiated with arguments Benefits Supports object-oriented reuse of modeling patterns Defines domain-specific languages Easy to fill in the blanks by people with no SPARQL expertise

Mais conteúdo relacionado

Mais procurados

Practical introduction to hadoop
Practical introduction to hadoopPractical introduction to hadoop
Practical introduction to hadoopinside-BigData.com
 
How to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They WorkHow to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They WorkIlya Ganelin
 
Learn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive GuideLearn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive GuideWhizlabs
 
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
 
RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013
RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013
RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013Juan Sequeda
 
Apache Spark overview
Apache Spark overviewApache Spark overview
Apache Spark overviewDataArt
 
Ontology quality, ontology design patterns, and competency questions
Ontology quality, ontology design patterns, and competency questionsOntology quality, ontology design patterns, and competency questions
Ontology quality, ontology design patterns, and competency questionsNicola Guarino
 
Handling Billions of Edges in a Graph Database
Handling Billions of Edges in a Graph DatabaseHandling Billions of Edges in a Graph Database
Handling Billions of Edges in a Graph DatabaseArangoDB Database
 
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...Edureka!
 
Introduction to PySpark
Introduction to PySparkIntroduction to PySpark
Introduction to PySparkRussell Jurney
 
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...Edureka!
 
[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...
[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...
[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...WSO2
 
Systematic Literature Reviews and Systematic Mapping Studies
Systematic Literature Reviews and Systematic Mapping StudiesSystematic Literature Reviews and Systematic Mapping Studies
Systematic Literature Reviews and Systematic Mapping Studiesalessio_ferrari
 
MongoDB Atlas
MongoDB AtlasMongoDB Atlas
MongoDB AtlasMongoDB
 
Evolution of the Graph Schema
Evolution of the Graph SchemaEvolution of the Graph Schema
Evolution of the Graph SchemaJoshua Shinavier
 
Introduction to apache spark
Introduction to apache spark Introduction to apache spark
Introduction to apache spark Aakashdata
 
Pyspark Tutorial | Introduction to Apache Spark with Python | PySpark Trainin...
Pyspark Tutorial | Introduction to Apache Spark with Python | PySpark Trainin...Pyspark Tutorial | Introduction to Apache Spark with Python | PySpark Trainin...
Pyspark Tutorial | Introduction to Apache Spark with Python | PySpark Trainin...Edureka!
 
Programming the Semantic Web
Programming the Semantic WebProgramming the Semantic Web
Programming the Semantic WebLuigi De Russis
 

Mais procurados (20)

Practical introduction to hadoop
Practical introduction to hadoopPractical introduction to hadoop
Practical introduction to hadoop
 
SHACL by example
SHACL by exampleSHACL by example
SHACL by example
 
How to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They WorkHow to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They Work
 
Learn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive GuideLearn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive Guide
 
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
 
RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013
RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013
RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013
 
Apache PIG
Apache PIGApache PIG
Apache PIG
 
Apache Spark overview
Apache Spark overviewApache Spark overview
Apache Spark overview
 
Ontology quality, ontology design patterns, and competency questions
Ontology quality, ontology design patterns, and competency questionsOntology quality, ontology design patterns, and competency questions
Ontology quality, ontology design patterns, and competency questions
 
Handling Billions of Edges in a Graph Database
Handling Billions of Edges in a Graph DatabaseHandling Billions of Edges in a Graph Database
Handling Billions of Edges in a Graph Database
 
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...
 
Introduction to PySpark
Introduction to PySparkIntroduction to PySpark
Introduction to PySpark
 
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...
 
[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...
[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...
[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...
 
Systematic Literature Reviews and Systematic Mapping Studies
Systematic Literature Reviews and Systematic Mapping StudiesSystematic Literature Reviews and Systematic Mapping Studies
Systematic Literature Reviews and Systematic Mapping Studies
 
MongoDB Atlas
MongoDB AtlasMongoDB Atlas
MongoDB Atlas
 
Evolution of the Graph Schema
Evolution of the Graph SchemaEvolution of the Graph Schema
Evolution of the Graph Schema
 
Introduction to apache spark
Introduction to apache spark Introduction to apache spark
Introduction to apache spark
 
Pyspark Tutorial | Introduction to Apache Spark with Python | PySpark Trainin...
Pyspark Tutorial | Introduction to Apache Spark with Python | PySpark Trainin...Pyspark Tutorial | Introduction to Apache Spark with Python | PySpark Trainin...
Pyspark Tutorial | Introduction to Apache Spark with Python | PySpark Trainin...
 
Programming the Semantic Web
Programming the Semantic WebProgramming the Semantic Web
Programming the Semantic Web
 

Semelhante a SPIN in Five Slides

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.
 
SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeAdriel Café
 
What;s Coming In SPARQL2?
What;s Coming In SPARQL2?What;s Coming In SPARQL2?
What;s Coming In SPARQL2?LeeFeigenbaum
 
SPARQL and SQL: technical aspects and synergy
SPARQL and SQL: technical aspects and synergySPARQL and SQL: technical aspects and synergy
SPARQL and SQL: technical aspects and synergyYannis Kalfoglou
 
Querying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQLQuerying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQLEmanuele Della Valle
 
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...Simplilearn
 
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 WebShamod Lacoul
 
Semantic web for ontology chapter4 bynk
Semantic web for ontology chapter4 bynkSemantic web for ontology chapter4 bynk
Semantic web for ontology chapter4 bynkNamgee Lee
 
SPARQL in the Semantic Web
SPARQL in the Semantic WebSPARQL in the Semantic Web
SPARQL in the Semantic WebJan Beeck
 
Sparql semantic information retrieval by
Sparql semantic information retrieval bySparql semantic information retrieval by
Sparql semantic information retrieval byIJNSA Journal
 
Sparql service-description
Sparql service-descriptionSparql service-description
Sparql service-descriptionSTIinnsbruck
 
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONSSPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONSIJNSA Journal
 
Re-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playoutRe-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playoutMediaMixerCommunity
 
Sparql a simple knowledge query
Sparql  a simple knowledge querySparql  a simple knowledge query
Sparql a simple knowledge queryStanley Wang
 

Semelhante a SPIN in Five Slides (20)

SPIN and Shapes
SPIN and ShapesSPIN and Shapes
SPIN and Shapes
 
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
 
SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & Practice
 
What;s Coming In SPARQL2?
What;s Coming In SPARQL2?What;s Coming In SPARQL2?
What;s Coming In SPARQL2?
 
SPARQL and SQL: technical aspects and synergy
SPARQL and SQL: technical aspects and synergySPARQL and SQL: technical aspects and synergy
SPARQL and SQL: technical aspects and synergy
 
eureka09
eureka09eureka09
eureka09
 
eureka09
eureka09eureka09
eureka09
 
Querying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQLQuerying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQL
 
Web Spa
Web SpaWeb Spa
Web Spa
 
Solr 8 interview
Solr 8 interview Solr 8 interview
Solr 8 interview
 
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
 
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
 
Semantic web for ontology chapter4 bynk
Semantic web for ontology chapter4 bynkSemantic web for ontology chapter4 bynk
Semantic web for ontology chapter4 bynk
 
SPARQL in the Semantic Web
SPARQL in the Semantic WebSPARQL in the Semantic Web
SPARQL in the Semantic Web
 
Sparql semantic information retrieval by
Sparql semantic information retrieval bySparql semantic information retrieval by
Sparql semantic information retrieval by
 
Sparql service-description
Sparql service-descriptionSparql service-description
Sparql service-description
 
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONSSPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
 
SPARQL 1.1 Status
SPARQL 1.1 StatusSPARQL 1.1 Status
SPARQL 1.1 Status
 
Re-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playoutRe-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playout
 
Sparql a simple knowledge query
Sparql  a simple knowledge querySparql  a simple knowledge query
Sparql a simple knowledge query
 

SPIN in Five Slides

  • 1. SPIN in Five Slideshttp://spinrdf.org Holger Knublauch, TopQuadrant Inc. holger@topquadrant.com Example file: http://topbraid.org/examples/spinsquare.ttl Open Source API: http://topbraid.org/spin/api/
  • 2. SPIN is an RDF Syntax for SPARQL SPIN provides a vocabulary to represent SPARQL queries as RDF triples. Benefits Stores SPARQL queries together with model Easy to share on the semantic web Referential integrity (true resource references) Namespaces are managed once, not for every query # Width and height must be equal ASKWHERE {     ?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 Language The property spin:constraint can be used to link a class with SPARQL queries that formalize invariants for the members of that class. Benefits Natural object-oriented way of modeling SPARQL is very expressive  Constraints can be natively executed by SPARQL engines of the database Easy to combine with other SPARQL constraint bases like SKOS SPIN
  • 4. SPIN is a SPARQL Rules Language The property spin:rulecan be used to link a class with SPARQL CONSTRUCT queries that define inference rules for the members of the class Benefits Natural object-oriented way of modeling SPARQL is very expressive  Rules can be natively executed by SPARQL engines of the database Easy to combine with other SPARQL rule bases like OWL RL
  • 5. SPIN can define SPARQL Functions spin:Function can be used to define new SPARQL functions that use other SPARQL queries as their bodies. Benefits Can be used to modularize and extend SPARQL Fully declarative and web friendly: functions are stored in RDF Greatly extend the expressivity of SPARQL (recursion etc) Simple form of backward chaining, computing sub-queries on demand CONSTRUCT{     ?thisss:area ?area . } WHERE {     LET (?area := ss:computeArea(?this)) . }
  • 6. SPIN can store reusable SPARQL queries spin:Templatecan be used to wrap SPARQL queries into reusable building blocks so that they can be instantiated with arguments Benefits Supports object-oriented reuse of modeling patterns Defines domain-specific languages Easy to fill in the blanks by people with no SPARQL expertise