DEFINE get:soft "replace" DEFINE input:grab-var "?uriFB" PREFIX owl: PREFIX rdf: PREFIX fb-film: SELECT * FROM FROM WHERE { owl:sameAs ?uriFB . optional {graph ?g { ?uriFB ?p ?o. }} } ## GoodRelations Offers from other sources starting with Amazon DEFINE input:grab-var "o" DEFINE input:grab-follow-predicate rdfs:seeAlso DEFINE input:grab-depth 3 DEFINE input:grab-limit 50 select * where { rdfs:seeAlso ?o. ?o a . ?o ?p2 ?o2} ### New York Times DBpedia Join ## Using Sponger to remote HTTP GET and then make a local Named Graph from the Resource at ## URL: DEFINE get:soft "replace" DEFINE input:grab-var "db" SELECT * FROM WHERE { owl:sameAs ?db. graph ?g { ?db ?p ?o } } ### New York Times DBpedia Join ## Using Sponger to remote HTTP GET with Content Negotiation prior to making ## local Named Graph from the Resource at ## URL: DEFINE get:soft "replace" DEFINE input:grab-var "db" SELECT * FROM WHERE { owl:sameAs ?db. graph ?g { ?db ?p ?o } } ### New York Times DBpedia Join ## Using Local Dataset Imported into Named Graph: DEFINE input:grab-var "db" SELECT * FROM WHERE { owl:sameAs ?db. graph ?g { ?db ?p ?o } } LIMIT 50 --- Semantic Web Client Library Sample Queries -- Query 1 define input:grab-var "dev" define input:grab-var "proj" define input:grab-var "projectName" define input:grab-follow-predicate define input:grab-depth 10 define input:grab-limit 50 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT ?name ?mbox ?projectName FROM NAMED WHERE { graph { doap:developer ?dev . ?dev foaf:name ?name . OPTIONAL { ?dev foaf:mbox ?mbox } OPTIONAL { ?dev doap:project ?proj . ?proj foaf:name ?projectName } } } -- Query 1 with transitivity option: define input:grab-var "dev" define input:grab-var "proj" define input:grab-var "projectName" define input:grab-follow-predicate define input:grab-depth 10 define input:grab-limit 50 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT ?name ?mbox ?projectName WHERE { { { { select ?start ?dev where { ?start doap:developer ?dev . } } option ( transitive, t_in (?start), t_out (?dev) ) filter (?start = ) } ?dev foaf:name ?name . } OPTIONAL { ?dev foaf:mbox ?mbox } OPTIONAL { ?dev doap:project ?proj . ?proj foaf:name ?projectName } } --- -- Variant with DISTINCT define input:grab-var "dev" define input:grab-var "proj" define input:grab-var "projectName" define input:grab-follow-predicate define input:grab-depth 10 define input:grab-limit 50 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT * FROM NAMED WHERE { graph { doap:developer ?dev . ?dev foaf:name ?name . OPTIONAL { ?dev foaf:mbox ?mbox } OPTIONAL { ?dev doap:project ?proj . ?proj foaf:name ?projectName } } } --- Variant with Sponging of the Source Graph (i.e., making the external graph URL an internal Graph IRI) define get:soft "replacing" define input:grab-var "dev" define input:grab-var "proj" define input:grab-var "projectName" define input:grab-follow-predicate define input:grab-depth 3 define input:grab-limit 50 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT ?name ?mbox ?projectName FROM WHERE { doap:developer ?dev . ?dev foaf:name ?name . OPTIONAL { ?dev foaf:mbox ?mbox } OPTIONAL { ?dev doap:project ?proj . ?proj foaf:name ?projectName } } -- variant without FROM define input:grab-all "yes" define input:grab-var "dev" define input:grab-var "proj" define input:grab-var "projectName" define input:grab-follow-predicate define input:grab-depth 3 define input:grab-limit 50 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT ?name ?mbox ?projectName FROM WHERE { doap:developer ?dev . ?dev foaf:name ?name . OPTIONAL { ?dev foaf:mbox ?mbox } OPTIONAL { ?dev doap:project ?proj . ?proj foaf:name ?projectName } } -- Friend of a Friend -- Without FROM and Graph Restrictions define input:grab-var "friend" define input:grab-var "Others" define input:grab-follow-predicate foaf:knows define input:grab-depth 2 define input:grab-limit 50 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT * WHERE { foaf:knows ?friend . ?friend foaf:knows ?Others. } -- with changed user URI and with transitivity option: -- http://mypenlink.net/dataspace/person/kidehen#this define input:grab-var "friend" define input:grab-var "Others" define input:grab-follow-predicate define input:grab-depth 2 define input:grab-limit 50 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT * WHERE { { { { select ?start ?friend where { ?start foaf:knows ?friend . } } option ( transitive, t_in (?start), t_out (?friend) ) filter (?start = ) } ?friend foaf:knows ?Others . } } --- Query 2 define input:grab-var "foaf" define input:grab-var "?friend" define input:grab-var "friendsURI" define input:grab-follow-predicate define input:grab-depth 10 define input:grab-limit 50 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT ?friendsname ?friendshomepage ?foafsname ?foafshomepage FROM NAMED WHERE { graph { { foaf:knows ?friend . ?friend foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:name ?friendsname . ?friendsURI foaf:homepage ?friendshomepage . } OPTIONAL { ?friendsURI foaf:knows ?foaf . ?foaf foaf:name ?foafsname . ?foaf foaf:homepage ?foafshomepage . } } } -- Distinct Variant define input:grab-var "foaf" define input:grab-var "?friend" define input:grab-var "friendsURI" define input:grab-follow-predicate define input:grab-depth 10 define input:grab-limit 50 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT * FROM NAMED WHERE { graph { { foaf:knows ?friend . ?friend foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:name ?friendsname . ?friendsURI foaf:homepage ?friendshomepage . } OPTIONAL { ?friendsURI foaf:knows ?foaf . ?foaf foaf:name ?foafsname . ?foaf foaf:homepage ?foafshomepage . } } } -- Query 2 changed variant: define input:grab-var "foaf" define input:grab-var "?friend" define input:grab-var "friendsURI" define input:grab-follow-predicate define input:grab-depth 5 define input:grab-limit 20 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT ?friendsname ?friendshomepage ?foafsname ?foafshomepage FROM NAMED WHERE { graph { { foaf:knows ?friend . ?friend foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:name ?friendsname . ?friendsURI foaf:homepage ?friendshomepage . } OPTIONAL { ?friendsURI foaf:knows ?foaf . ?foaf foaf:name ?foafsname . ?foaf foaf:homepage ?foafshomepage . } } } -- Query 2 changed variant with transitivity option: define input:grab-all "yes" define input:grab-depth 1 PREFIX foaf: SELECT DISTINCT ?friendsname ?friendshomepage ?foafsname ?foafshomepage WHERE { { { { select ?start ?friend where { ?start foaf:knows ?friend . } } option ( transitive, t_in (?start), t_out (?friend) ) filter (?start = ) } ?friend foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:name ?friendsname . ?friendsURI foaf:homepage ?friendshomepage . } OPTIONAL { ?friendsURI foaf:knows ?foaf . ?foaf foaf:name ?foafsname . ?foaf foaf:homepage ?foafshomepage . } } --- MyOpenLink Sample Queries -- Query 1 define input:grab-var "foaf" define input:grab-var "?friend" define input:grab-var "friendsURI" define input:grab-follow-predicate define input:grab-depth 10 define input:grab-limit 50 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT * FROM NAMED WHERE { graph { { foaf:knows ?friend . optional {?friend foaf:mbox_sha1sum ?mbox .} optional {?friendsURI foaf:mbox_sha1sum ?mbox .} optional {?friendsURI foaf:name ?friendsname .} optional {?friendsURI foaf:homepage ?friendshomepage .} } OPTIONAL { ?friendsURI foaf:knows ?foaf . ?foaf foaf:name ?foafsname . ?foaf foaf:homepage ?foafshomepage . } } } -- Query 1 with transitivitiy option define input:grab-var "foaf" define input:grab-var "?friend" define input:grab-var "friendsURI" define input:grab-follow-predicate define input:grab-depth 10 define input:grab-limit 50 PREFIX rdfs: PREFIX foaf: PREFIX doap: SELECT DISTINCT * WHERE { { { { select ?start ?friend where { ?start foaf:knows ?friend . } } option ( transitive, t_in (?start), t_out (?friend) ) filter (?start = ) } OPTIONAL { ?friend foaf:mbox_sha1sum ?mbox . } OPTIONAL { ?friendsURI foaf:mbox_sha1sum ?mbox . } OPTIONAL { ?friendsURI foaf:name ?friendsname . } OPTIONAL { ?friendsURI foaf:homepage ?friendshomepage . } } OPTIONAL { ?friendsURI foaf:knows ?foaf . ?foaf foaf:name ?foafsname . ?foaf foaf:homepage ?foafshomepage . } } --- Query 2 PREFIX foaf: SELECT DISTINCT ?friendsname ?friendshomepage ?foafsname ?foafshomepage WHERE { { foaf:knows ?friend . ?friend foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:name ?friendsname . ?friendsURI foaf:homepage ?friendshomepage . } OPTIONAL { ?friendsURI foaf:knows ?foaf . ?foaf foaf:name ?foafsname . ?foaf foaf:homepage ?foafshomepage . } } -- Query 2 with transitivitiy option PREFIX foaf: SELECT DISTINCT ?friendsname ?friendshomepage ?foafsname ?foafshomepage WHERE { { { { select ?start ?friend where { ?start foaf:knows ?friend . } } option ( transitive, t_in (?start), t_out (?friend) ) filter (?start = ) } ?friend foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:mbox_sha1sum ?mbox . ?friendsURI foaf:name ?friendsname . ?friendsURI foaf:homepage ?friendshomepage . } OPTIONAL { ?friendsURI foaf:knows ?foaf . ?foaf foaf:name ?foafsname . ?foaf foaf:homepage ?foafshomepage . } } -- Query 3 define input:grab-follow-predicate define input:grab-depth 10 PREFIX sioc: PREFIX foaf: construct {?s ?p ?o} from where {?s ?p ?o filter regex(?o,".*Twine*")} -- Query 4 define input:grab-follow-predicate define input:grab-var "their_id" define input:grab-depth 2 define input:grab-limit 350 prefix foaf: prefix rdf: prefix rdfs: select distinct ?my_id ?firstname ?Knows ?their_id from named where { graph ?g { ?my_id a foaf:Person; foaf:firstName ?firstname; foaf:knows ?their_id . ?their_id foaf:nick ?Knows.} } limit 350 -- Query 5 define input:grab-var "?more" define input:grab-depth 10 define input:grab-limit 100 define input:grab-base prefix foaf: prefix rdf: prefix rdfs: select ?id ?firstname ?nick where { graph ?g { ?id rdf:type foaf:Person. ?id foaf:firstName ?firstname. ?id foaf:knows ?fn . ?fn foaf:nick ?nick. optional { ?id rdfs:SeeAlso ?more } } } limit 10 -- Query 6 #service:/sparql #should-sponge:soft define input:same-as "yes" PREFIX geonames: SELECT * WHERE {?s geonames:parentFeature ?z} #service:/sparql #should-sponge:soft -- Query 7 define input:grab-follow-predicate define input:grab-depth 10 PREFIX foaf: SELECT distinct * WHERE { foaf:depiction ?z} -- Query 8 define input:grab-follow-predicate define input:grab-depth 10 define input:grab-limit 100 prefix foaf: prefix rdf: prefix rdfs: select distinct ?my_id ?Knows ?their_id ?fname where { foaf:maker ?my_id. ?my_id a foaf:Person . optional { ?my_id foaf:nick ?fname }. optional { ?my_id foaf:knows ?their_id }. optional { ?their_id foaf:nick ?Knows }. } See Also: 1. http://www4.wiwiss.fu-berlin.de/bizer/ng4j/semwebclient/#examples