SPIN in Five Slides
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

SPIN in Five Slides

  • 32,901 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
32,901
On Slideshare
7,692
From Embeds
25,209
Number of Embeds
21

Actions

Shares
Downloads
127
Comments
1
Likes
10

Embeds 25,209

http://spinrdf.org 23,111
http://www.spinrdf.org 1,797
http://www.topquadrant.com 193
http://173.212.200.42 44
http://translate.googleusercontent.com 18
http://www.pearltrees.com 13
http://webcache.googleusercontent.com 9
http://topquadrant.com 7
https://twimg0-a.akamaihd.net 3
https://si0.twimg.com 2
http://www.spinrdf.org. 2
https://twitter.com 1
http://spin.topquadrant.com 1
http://composing-the-semantic-web.blogspot.com 1
http://gate.baidu.com 1
https://blackboard.mckendree.edu 1
http://www.spundge.com 1
https://sicuaplus2.uniandes.edu.co 1
http://bitly.com 1
http://scrape.iptwister.com 1
https://sslvpn.jhuapl.edu 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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