Skip to content

Instantly share code, notes, and snippets.

@e-maud
Last active January 30, 2017 08:27
Show Gist options
  • Save e-maud/d8942fd669bc06098f76 to your computer and use it in GitHub Desktop.
Save e-maud/d8942fd669bc06098f76 to your computer and use it in GitHub Desktop.

Garzoni economy: about professions

How many distinct professions:
SELECT COUNT (distinct ?profSF) AS ?nbDistinctProfMentions
WHERE 
{
  ?prof a grz-owl:ProfessionMention .
  ?prof grz-owl:standardForm ?profSF .
}
Number of contracts per professions (ok)
SELECT ?profSF COUNT (distinct ?contract) AS ?nbContracts
WHERE 
{
  ?contract grz-owl:introduces ?master .
  ?master grz-owl:role/grz-owl:roleType grz-owl:master .
  ?master grz-owl:profession/grz-owl:standardForm ?profSF .
}
GROUP BY ?profSF
----
WARNING! might be several prof per master, to be dealt with.
Number of contracts per profession category (remove or not time window) ok
SELECT ?profCAT COUNT (distinct ?contract) AS ?nbContracts
WHERE 
{
  ?contract grz-owl:introduces ?master .
  ?master grz-owl:role/grz-owl:roleType grz-owl:master .
  ?master grz-owl:profession/grz-owl:professionCategory ?profCAT .
  ?contract sem:hasTimeStamp ?time .
  FILTER (year(?time) > 1600 AND year(?time) < 1700)
}
GROUP BY ?profCAT
----
WARNING! might be several prof per master, to be dealt with.
The most present category, with or w/o time window
SELECT ?profCAT  (COUNT (distinct ?contract) AS ?nbContracts)
WHERE 
{
  ?contract grz-owl:introduces ?master .
  ?master grz-owl:role/grz-owl:roleType grz-owl:master .
  ?master grz-owl:profession/grz-owl:professionCategory ?profCAT .
  ?contract sem:hasTimeStamp ?time .
  FILTER (year(?time) > 1400 AND year(?time) < 1700)
}
GROUP BY ?profCAT
ORDER BY DESC (?nbContracts)
LIMIT 1
Display info about professions (for norm work) TO UPDATE
SELECT ?profWF ?profSF ?profCAT
WHERE 
{
  ?contract grz-owl:introduces ?master .
  ?master grz-owl:role/grz-owl:roleType grz-owl:master .
  ?master grz-owl:profession ?prof .
  OPTIONAL {?prof grz-owl:standardForm ?profSF .}
  ?prof grz-owl:writtenForm ?profWF .
  OPTIONAL {?prof grz-owl:professionCategory ?profCAT .
}
Number of professions without standard form TO UPDATE
SELECT count(distinct ?prof)
WHERE 
{
  ?contract grz-owl:introduces ?master .
  ?master grz-owl:role/grz-owl:roleType grz-owl:master .
  ?master grz-owl:profession ?prof .
  FILTER NOT EXISTS {?prof grz-owl:standardForm ?profSF .}
}
Number of professions without category TO UPDATE
SELECT count(distinct ?prof)
WHERE 
{
  ?contract grz-owl:introduces ?master .
  ?master grz-owl:role/grz-owl:roleType grz-owl:master .
  ?master grz-owl:profession ?prof .
  FILTER NOT EXISTS {?prof grz-owl:professionCategory ?profCAT .}
}
Number of Masters with 2 professions
SELECT count(distinct ?master)
WHERE 
{
  ?master grz-owl:role/grz-owl:roleType grz-owl:master .
  ?master grz-owl:profession ?prof1, ?prof2 .
  FILTER (?prof1 != ?prof2)
}

Number of distinct profession mentions from Master and Guarantor - STUPID QUERY, TO CORRECT

SELECT count(distinct ?prof1)
WHERE 
{
  ?master grz-owl:role ?role .
  {?role grz-owl:roleType grz-owl:master } UNION {?role grz-owl:roleType grz-owl:guarantor}
  ?master grz-owl:profession ?prof1 .
  ?prof1 a grz-owl:ProfessionMention .
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment