RDF* & SPARQL*: Difference between revisions

From artserver wiki
No edit summary
No edit summary
Line 1: Line 1:
'''Data:'''
<source lang="ttl">
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix wikibase: <http://wikiba.se/ontology#> .
@prefix wd: <http://www.wikidata.org/entity/> .
@prefix s: <http://www.wikidata.org/entity/statement/> .
@prefix p: <http://www.wikidata.org/prop/> .
@prefix ps: <http://www.wikidata.org/prop/statement/> .
@prefix pq: <http://www.wikidata.org/prop/qualifier/> .
wd:Q29 a wikibase:Item .
wd:Q29 p:P1082 s:Q29-47E327E5-127D-4DC3-8C3F-9B2C7D5A0D62 .
s:Q29-47E327E5-127D-4DC3-8C3F-9B2C7D5A0D62 a wikibase:Statement ;
ps:P1082 "+30455000"^^xsd:decimal ;
pq:P585 "1960-01-01T00:00:00Z"^^xsd:dateTime .
wd:Q29 p:P1082 s:Q29-38AA233B-6CFF-4F9C-A73C-D0B23AC44E74 .
s:Q29-38AA233B-6CFF-4F9C-A73C-D0B23AC44E74 a wikibase:Statement ;
ps:P1082 "+33814531"^^xsd:decimal ;
pq:P585 "1970-01-01T00:00:00Z"^^xsd:dateTime .
wd:Q29 p:P1082 s:Q29-7BD19893-2B47-4028-956B-329344307600 .
s:Q29-7BD19893-2B47-4028-956B-329344307600 a wikibase:Statement ;
ps:P1082 "+37439035"^^xsd:decimal ;
pq:P585 "1980-01-01T00:00:00Z"^^xsd:dateTime .
wd:Q29 p:P1082 s:Q29-D0602463-6F4B-40BC-833D-45B216E354BE .
s:Q29-D0602463-6F4B-40BC-833D-45B216E354BE a wikibase:Statement ;
ps:P1082 "+38850435"^^xsd:decimal ;
pq:P585 "1990-01-01T00:00:00Z"^^xsd:dateTime .


wd:Q29 p:P1082 s:Q29-65A1C6CA-806A-49F4-9FA5-6BF600B82970 .
s:Q29-65A1C6CA-806A-49F4-9FA5-6BF600B82970 a wikibase:Statement ;
ps:P1082 "+40263216"^^xsd:decimal ;
pq:P585 "2000-01-01T00:00:00Z"^^xsd:dateTime .
</source>
'''Query:'''
<source lang="sparql">
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX s: <http://www.wikidata.org/entity/statement/>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
# get the population and year of the statement
SELECT *
WHERE {
?subject p:P1082 ?statementobject.
?statementobject ps:P1082 ?population;
  pq:P585 ?statementDate .
}
ORDER BY ?statementDate
</source>
'''Results:'''
<source lang="bash">arq --data=Q29_population.ttl --query=population_query.rq</source>
<pre>
--------------------------------------------------------------------------------------------------------------------------
| subject | statementobject                            | population              | statementDate                        |
==========================================================================================================================
| wd:Q29  | s:Q29-47E327E5-127D-4DC3-8C3F-9B2C7D5A0D62 | "+30455000"^^xsd:decimal | "1960-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | s:Q29-38AA233B-6CFF-4F9C-A73C-D0B23AC44E74 | "+33814531"^^xsd:decimal | "1970-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | s:Q29-7BD19893-2B47-4028-956B-329344307600 | "+37439035"^^xsd:decimal | "1980-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | s:Q29-D0602463-6F4B-40BC-833D-45B216E354BE | "+38850435"^^xsd:decimal | "1990-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | s:Q29-65A1C6CA-806A-49F4-9FA5-6BF600B82970 | "+40263216"^^xsd:decimal | "2000-01-01T00:00:00Z"^^xsd:dateTime |
--------------------------------------------------------------------------------------------------------------------------
</pre>
'''Data (using RDF*):'''
<source lang="ttl">
<source lang="ttl">
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix wikibase: <http://wikiba.se/ontology#> .
@prefix wd: <http://www.wikidata.org/entity/> .
@prefix ps: <http://www.wikidata.org/prop/statement/> .
@prefix pq: <http://www.wikidata.org/prop/qualifier/> .
wd:Q29 a wikibase:Item;
ps:P1082 "+30455000"^^xsd:decimal ;
ps:P1082 "+33814531"^^xsd:decimal ;
ps:P1082 "+37439035"^^xsd:decimal ;
ps:P1082 "+38850435"^^xsd:decimal ;
ps:P1082 "+40263216"^^xsd:decimal .
<< wd:Q29 ps:P1082 "+30455000"^^xsd:decimal >> pq:P585 "1960-01-01T00:00:00Z"^^xsd:dateTime  .
<< wd:Q29 ps:P1082 "+33814531"^^xsd:decimal >> pq:P585 "1970-01-01T00:00:00Z"^^xsd:dateTime .
<< wd:Q29 ps:P1082 "+37439035"^^xsd:decimal >> pq:P585 "1980-01-01T00:00:00Z"^^xsd:dateTime .
<< wd:Q29 ps:P1082 "+38850435"^^xsd:decimal >> pq:P585 "1990-01-01T00:00:00Z"^^xsd:dateTime .
<< wd:Q29 ps:P1082 "+40263216"^^xsd:decimal >> pq:P585 "2000-01-01T00:00:00Z"^^xsd:dateTime .
</source>
</source>
'''Query (using SPARQL*):'''
<source lang="sparql">
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
# get the population and year of the statement
SELECT *
WHERE {
<<?subject ps:P1082 ?population>> pq:P585 ?statementDate .
}
ORDER BY ?statementDate
</source>
'''Results:'''
<source lang="bash">arq --data=Q29_population_star.ttl --query=population_query_star.rq </source>
<pre>
-----------------------------------------------------------------------------
| subject | population              | statementDate                        |
=============================================================================
| wd:Q29  | "+30455000"^^xsd:decimal | "1960-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | "+33814531"^^xsd:decimal | "1970-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | "+37439035"^^xsd:decimal | "1980-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | "+38850435"^^xsd:decimal | "1990-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | "+40263216"^^xsd:decimal | "2000-01-01T00:00:00Z"^^xsd:dateTime |
-----------------------------------------------------------------------------
</pre>




{{#set: Section=Code_Notes|Date=2021}}
{{#set: Section=Code_Notes|Date=2021}}

Revision as of 14:34, 6 January 2021

Data:

@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix wikibase: <http://wikiba.se/ontology#> .
@prefix wd: <http://www.wikidata.org/entity/> .
@prefix s: <http://www.wikidata.org/entity/statement/> .
@prefix p: <http://www.wikidata.org/prop/> .
@prefix ps: <http://www.wikidata.org/prop/statement/> .
@prefix pq: <http://www.wikidata.org/prop/qualifier/> .

wd:Q29 a wikibase:Item .

wd:Q29 p:P1082 s:Q29-47E327E5-127D-4DC3-8C3F-9B2C7D5A0D62 .

s:Q29-47E327E5-127D-4DC3-8C3F-9B2C7D5A0D62 a wikibase:Statement ;
	ps:P1082 "+30455000"^^xsd:decimal ;
	pq:P585 "1960-01-01T00:00:00Z"^^xsd:dateTime .

wd:Q29 p:P1082 s:Q29-38AA233B-6CFF-4F9C-A73C-D0B23AC44E74 .

s:Q29-38AA233B-6CFF-4F9C-A73C-D0B23AC44E74 a wikibase:Statement ;
	ps:P1082 "+33814531"^^xsd:decimal ;
	pq:P585 "1970-01-01T00:00:00Z"^^xsd:dateTime .

wd:Q29 p:P1082 s:Q29-7BD19893-2B47-4028-956B-329344307600 .

s:Q29-7BD19893-2B47-4028-956B-329344307600 a wikibase:Statement ;
	ps:P1082 "+37439035"^^xsd:decimal ;
	pq:P585 "1980-01-01T00:00:00Z"^^xsd:dateTime .

wd:Q29 p:P1082 s:Q29-D0602463-6F4B-40BC-833D-45B216E354BE .

s:Q29-D0602463-6F4B-40BC-833D-45B216E354BE a wikibase:Statement ;
	ps:P1082 "+38850435"^^xsd:decimal ;
	pq:P585 "1990-01-01T00:00:00Z"^^xsd:dateTime .

wd:Q29 p:P1082 s:Q29-65A1C6CA-806A-49F4-9FA5-6BF600B82970 .

s:Q29-65A1C6CA-806A-49F4-9FA5-6BF600B82970 a wikibase:Statement ;
	ps:P1082 "+40263216"^^xsd:decimal ;
	pq:P585 "2000-01-01T00:00:00Z"^^xsd:dateTime .

Query:

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX p: <http://www.wikidata.org/prop/> 
PREFIX s: <http://www.wikidata.org/entity/statement/>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/> 

# get the population and year of the statement
SELECT * 
WHERE {
 ?subject p:P1082 ?statementobject.
 ?statementobject ps:P1082 ?population;
 				  pq:P585 ?statementDate .
}
ORDER BY ?statementDate

Results:

arq --data=Q29_population.ttl --query=population_query.rq
--------------------------------------------------------------------------------------------------------------------------
| subject | statementobject                            | population               | statementDate                        |
==========================================================================================================================
| wd:Q29  | s:Q29-47E327E5-127D-4DC3-8C3F-9B2C7D5A0D62 | "+30455000"^^xsd:decimal | "1960-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | s:Q29-38AA233B-6CFF-4F9C-A73C-D0B23AC44E74 | "+33814531"^^xsd:decimal | "1970-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | s:Q29-7BD19893-2B47-4028-956B-329344307600 | "+37439035"^^xsd:decimal | "1980-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | s:Q29-D0602463-6F4B-40BC-833D-45B216E354BE | "+38850435"^^xsd:decimal | "1990-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | s:Q29-65A1C6CA-806A-49F4-9FA5-6BF600B82970 | "+40263216"^^xsd:decimal | "2000-01-01T00:00:00Z"^^xsd:dateTime |
--------------------------------------------------------------------------------------------------------------------------


Data (using RDF*):

@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix wikibase: <http://wikiba.se/ontology#> .
@prefix wd: <http://www.wikidata.org/entity/> .
@prefix ps: <http://www.wikidata.org/prop/statement/> .
@prefix pq: <http://www.wikidata.org/prop/qualifier/> .

wd:Q29 a wikibase:Item;
	ps:P1082 "+30455000"^^xsd:decimal ;
	ps:P1082 "+33814531"^^xsd:decimal ;
	ps:P1082 "+37439035"^^xsd:decimal ;
	ps:P1082 "+38850435"^^xsd:decimal ;
	ps:P1082 "+40263216"^^xsd:decimal .

<< wd:Q29 ps:P1082 "+30455000"^^xsd:decimal >> pq:P585 "1960-01-01T00:00:00Z"^^xsd:dateTime  .
<< wd:Q29 ps:P1082 "+33814531"^^xsd:decimal >> pq:P585 "1970-01-01T00:00:00Z"^^xsd:dateTime .
<< wd:Q29 ps:P1082 "+37439035"^^xsd:decimal >> pq:P585 "1980-01-01T00:00:00Z"^^xsd:dateTime .
<< wd:Q29 ps:P1082 "+38850435"^^xsd:decimal >> pq:P585 "1990-01-01T00:00:00Z"^^xsd:dateTime .
<< wd:Q29 ps:P1082 "+40263216"^^xsd:decimal >> pq:P585 "2000-01-01T00:00:00Z"^^xsd:dateTime .


Query (using SPARQL*):

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/> 

# get the population and year of the statement
SELECT * 
WHERE {
 <<?subject ps:P1082 ?population>> pq:P585 ?statementDate .
}
ORDER BY ?statementDate

Results:

arq --data=Q29_population_star.ttl --query=population_query_star.rq
-----------------------------------------------------------------------------
| subject | population               | statementDate                        |
=============================================================================
| wd:Q29  | "+30455000"^^xsd:decimal | "1960-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | "+33814531"^^xsd:decimal | "1970-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | "+37439035"^^xsd:decimal | "1980-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | "+38850435"^^xsd:decimal | "1990-01-01T00:00:00Z"^^xsd:dateTime |
| wd:Q29  | "+40263216"^^xsd:decimal | "2000-01-01T00:00:00Z"^^xsd:dateTime |
-----------------------------------------------------------------------------



... more about "RDF* & SPARQL*"
Code_Notes +
Date"Date" is a type and predefined property provided by Semantic MediaWiki to represent date values.
2021 +