SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeAdriel Café
 
SPARQL 사용법
SPARQL 사용법SPARQL 사용법
SPARQL 사용법홍수 허
 
RESTful services
RESTful servicesRESTful services
RESTful servicesgouthamrv
 
RESTful API 설계
RESTful API 설계RESTful API 설계
RESTful API 설계Jinho Yoo
 
RDF 개념 및 구문 소개
RDF 개념 및 구문 소개RDF 개념 및 구문 소개
RDF 개념 및 구문 소개Dongbum Kim
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리Junyi Song
 
DSO-LG 2021 Reboot: Policy As Code (Anders Eknert)
DSO-LG 2021 Reboot: Policy As Code (Anders Eknert)DSO-LG 2021 Reboot: Policy As Code (Anders Eknert)
DSO-LG 2021 Reboot: Policy As Code (Anders Eknert)Michael Man
 
Data Modeling for MongoDB
Data Modeling for MongoDBData Modeling for MongoDB
Data Modeling for MongoDBMongoDB
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsVikash Singh
 
The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)Myungjin Lee
 

Tendances (20)

SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & Practice
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
 
SPARQL 사용법
SPARQL 사용법SPARQL 사용법
SPARQL 사용법
 
JSON-LD and SHACL for Knowledge Graphs
JSON-LD and SHACL for Knowledge GraphsJSON-LD and SHACL for Knowledge Graphs
JSON-LD and SHACL for Knowledge Graphs
 
Neo4J 사용
Neo4J 사용Neo4J 사용
Neo4J 사용
 
Soap and Rest
Soap and RestSoap and Rest
Soap and Rest
 
SPARQL Tutorial
SPARQL TutorialSPARQL Tutorial
SPARQL Tutorial
 
RESTful services
RESTful servicesRESTful services
RESTful services
 
RESTful API 설계
RESTful API 설계RESTful API 설계
RESTful API 설계
 
SPARQL Cheat Sheet
SPARQL Cheat SheetSPARQL Cheat Sheet
SPARQL Cheat Sheet
 
RDF 개념 및 구문 소개
RDF 개념 및 구문 소개RDF 개념 및 구문 소개
RDF 개념 및 구문 소개
 
Jena
JenaJena
Jena
 
Logstash
LogstashLogstash
Logstash
 
RAML
RAMLRAML
RAML
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
 
DSO-LG 2021 Reboot: Policy As Code (Anders Eknert)
DSO-LG 2021 Reboot: Policy As Code (Anders Eknert)DSO-LG 2021 Reboot: Policy As Code (Anders Eknert)
DSO-LG 2021 Reboot: Policy As Code (Anders Eknert)
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
Data Modeling for MongoDB
Data Modeling for MongoDBData Modeling for MongoDB
Data Modeling for MongoDB
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)
 

Similaire à 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.
 
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
 
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
 
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
 

Similaire à 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
 
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
 
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
 
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