Created
October 30, 2022 15:51
-
-
Save gwpl/52d3bb7152e07a6a28f2af68a876a897 to your computer and use it in GitHub Desktop.
by G foaf example, showing simple queries progressing step by step with outputs; run using Apache Jena ; based on https://jena.apache.org/tutorials/sparql.html and https://gitlab.com/gwpl/rdf_20q4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@prefix dc: <http://purl.org/dc/elements/1.1/>. | |
@prefix ex: <http://example.org/stuff/1.0/> . | |
@prefix foaf: <http://xmlns.com/foaf/0.1/>. | |
@prefix owl: <http://www.w3.org/2002/07/owl#>. | |
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. | |
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. | |
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#>. | |
@prefix wot: <http://xmlns.com/wot/0.1/>. | |
@prefix xml: <http://www.w3.org/XML/1998/namespace>. | |
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>. | |
# from above prefixes only foaf is currently used | |
<#Alice> | |
a foaf:Person ; | |
foaf:name "Alice"; | |
foaf:knows <#Bob>. | |
<#Bob> | |
a foaf:Person ; | |
foaf:name "Bob"; | |
foaf:knows <#Charlie>; | |
foaf:knows <#Xilian>. | |
<#Charlie> | |
a foaf:Person ; | |
foaf:name "Charlie"; | |
foaf:knows <#Xilian>. | |
<#Xilian> | |
a foaf:Person ; | |
foaf:name "Xilian". |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT ?s ?p ?o | |
WHERE | |
{ | |
?s ?p ?o . | |
} | |
# $sparql --data=by_G_foaf_example.ttl --query=by_G_foaf_q1.rq --results=text | |
# | |
#---------------------------------------------------------------------------------------------------------------------------- | |
#| s | p | o | | |
#============================================================================================================================ | |
#| <by_G_foaf_example.ttl#Alice> | <http://xmlns.com/foaf/0.1/name> | "Alice" | | |
#| <by_G_foaf_example.ttl#Alice> | <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> | <http://xmlns.com/foaf/0.1/Person> | | |
#| <by_G_foaf_example.ttl#Alice> | <http://xmlns.com/foaf/0.1/knows> | <by_G_foaf_example.ttl#Bob> | | |
#| <by_G_foaf_example.ttl#Charlie> | <http://xmlns.com/foaf/0.1/name> | "Charlie" | | |
#| <by_G_foaf_example.ttl#Charlie> | <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> | <http://xmlns.com/foaf/0.1/Person> | | |
#| <by_G_foaf_example.ttl#Charlie> | <http://xmlns.com/foaf/0.1/knows> | <by_G_foaf_example.ttl#Xilian> | | |
#| <by_G_foaf_example.ttl#Bob> | <http://xmlns.com/foaf/0.1/name> | "Bob" | | |
#| <by_G_foaf_example.ttl#Bob> | <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> | <http://xmlns.com/foaf/0.1/Person> | | |
#| <by_G_foaf_example.ttl#Bob> | <http://xmlns.com/foaf/0.1/knows> | <by_G_foaf_example.ttl#Charlie> | | |
#| <by_G_foaf_example.ttl#Bob> | <http://xmlns.com/foaf/0.1/knows> | <by_G_foaf_example.ttl#Xilian> | | |
#| <by_G_foaf_example.ttl#Xilian> | <http://xmlns.com/foaf/0.1/name> | "Xilian" | | |
#| <by_G_foaf_example.ttl#Xilian> | <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> | <http://xmlns.com/foaf/0.1/Person> | | |
#---------------------------------------------------------------------------------------------------------------------------- | |
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT ?s "knows" ?o | |
WHERE | |
{ | |
?s <http://xmlns.com/foaf/0.1/knows> ?o . | |
} | |
# $ sparql --data=by_G_foaf_example.ttl --query=by_G_foaf_q2.rq --results=text | |
# ------------------------------------------------------------------------------- | |
# | s | .0 | o | | |
# =============================================================================== | |
# | <by_G_foaf_example.ttl#Bob> | "knows" | <by_G_foaf_example.ttl#Charlie> | | |
# | <by_G_foaf_example.ttl#Alice> | "knows" | <by_G_foaf_example.ttl#Bob> | | |
# | <by_G_foaf_example.ttl#Charlie> | "knows" | <by_G_foaf_example.ttl#Xilian> | | |
# | <by_G_foaf_example.ttl#Bob> | "knows" | <by_G_foaf_example.ttl#Xilian> | | |
# ------------------------------------------------------------------------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT ?s ?s_name "knows" ?o_name ?o | |
WHERE | |
{ | |
?s <http://xmlns.com/foaf/0.1/knows> ?o . | |
?s <http://xmlns.com/foaf/0.1/name> ?s_name . | |
?o <http://xmlns.com/foaf/0.1/name> ?o_name . | |
} | |
# $ sparql --data=by_G_foaf_example.ttl --query=by_G_foaf_q3.rq --results=text | |
# ------------------------------------------------------------------------------------------------------- | |
# | s | s_name | .0 | o_name | o | | |
# ======================================================================================================= | |
# | <by_G_foaf_example.ttl#Bob> | "Bob" | "knows" | "Charlie" | <by_G_foaf_example.ttl#Charlie> | | |
# | <by_G_foaf_example.ttl#Alice> | "Alice" | "knows" | "Bob" | <by_G_foaf_example.ttl#Bob> | | |
# | <by_G_foaf_example.ttl#Charlie> | "Charlie" | "knows" | "Xilian" | <by_G_foaf_example.ttl#Xilian> | | |
# | <by_G_foaf_example.ttl#Bob> | "Bob" | "knows" | "Xilian" | <by_G_foaf_example.ttl#Xilian> | | |
# ------------------------------------------------------------------------------------------------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT ?s_name "knows" ?o_name | |
WHERE | |
{ | |
?s <http://xmlns.com/foaf/0.1/knows> ?o . | |
?s <http://xmlns.com/foaf/0.1/name> ?s_name . | |
?o <http://xmlns.com/foaf/0.1/name> ?o_name . | |
} | |
# $ sparql --data=by_G_foaf_example.ttl --query=by_G_foaf_q4.rq --results=text | |
# ----------------------------------- | |
# | s_name | .0 | o_name | | |
# =================================== | |
# | "Bob" | "knows" | "Charlie" | | |
# | "Alice" | "knows" | "Bob" | | |
# | "Charlie" | "knows" | "Xilian" | | |
# | "Bob" | "knows" | "Xilian" | | |
# ----------------------------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT ?s1_name "and" ?s2_name "know together" $o_name | |
WHERE | |
{ | |
?s1 <http://xmlns.com/foaf/0.1/knows> ?o . | |
?s2 <http://xmlns.com/foaf/0.1/knows> ?o . | |
?s1 <http://xmlns.com/foaf/0.1/name> ?s1_name . | |
?s2 <http://xmlns.com/foaf/0.1/name> ?s2_name . | |
?o <http://xmlns.com/foaf/0.1/name> ?o_name . | |
FILTER (?s1_name < ?s2_name) | |
} | |
ORDER BY ?s1_name | |
# Who knows whom in common! | |
# $ sparql --data=by_G_foaf_example.ttl --query=by_G_foaf_q5.rq --results=text | |
#------------------------------------------------------------ | |
#| s1_name | .0 | s2_name | .1 | o_name | | |
#============================================================ | |
#| "Bob" | "and" | "Charlie" | "know together" | "Xilian" | | |
#------------------------------------------------------------ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment