@prefix browser: . @prefix av: . @prefix wdav: . @prefix dct: . @prefix owl: . @prefix rdfs: . @prefix void: . ##################################### # Configurations ##################################### a browser:Configuration ; dct:title "People by groups"@en, "Lidé podle skupin"@cs; dct:description "Explore people by different groups they belong to."@en, "Objevujte lidi dle různých skupin, do kterých patří."@cs; browser:hasVisualStyleSheet ; browser:startingNode , , , , , , ; #browser:resourceIriPattern "^http://www\\.wikidata\\.org/entity/Q[1-9][0-9]*$"; browser:hasViewSet , , , , . ##################################### # ViewSets ##################################### a browser:ViewSet ; dct:title "Group of people"@en ; browser:hasView , , ; browser:hasDefaultView ; browser:hasCondition """PREFIX skos: PREFIX dbo: PREFIX dct: ASK { ?node skos:prefLabel ?label . FILTER(LANG(?label) = "en") FILTER EXISTS { ?person a dbo:Person . { ?person dct:subject ?node . } UNION { ?person dct:subject/skos:broader ?node . } UNION { ?person dct:subject/skos:broader/skos:broader ?node . } } }""" ; browser:hasDataset . a browser:ViewSet ; dct:title "Person"@en ; browser:hasView , , , , #, , ; browser:hasDefaultView ; browser:hasCondition """PREFIX wd: PREFIX wdt: ASK { ?node wdt:P31 wd:Q5 . }""" ; browser:hasDataset . ##################################### # Views ##################################### a browser:View ; dct:title "Child group"@en ; dct:description ""@en ; browser:hasExpansion ; browser:hasPreview ; browser:hasDetail . a browser:View ; dct:title "Parent group"@en ; dct:description ""@en ; browser:hasExpansion ; browser:hasPreview ; browser:hasDetail . a browser:View ; dct:title "Group of people"@en ; dct:description ""@en ; browser:hasExpansion ; browser:hasPreview ; browser:hasDetail . a browser:View ; dct:title "Personality in groups"@en ; dct:description ""@en ; browser:hasExpansion ; browser:hasPreview ; browser:hasDetail . ##################################### # Queries ##################################### a browser:ExpansionQuery ; dct:title "Broader groups" ; browser:hasDataset ; browser:query """PREFIX skos: PREFIX av: PREFIX browser: CONSTRUCT { ?broader a av:group-of-people ; skos:prefLabel ?broaderLabel ; browser:class "groupOfPeople" . ?node skos:broader ?broader . skos:broader browser:class "broader" . } WHERE { ?node skos:broader ?broader . ?broader skos:prefLabel ?broaderLabel . FILTER(LANG(?broaderLabel) = "en") }""" . a browser:ExpansionQuery ; dct:title "Narrower groups" ; browser:hasDataset ; browser:query """PREFIX skos: PREFIX dbo: PREFIX av: PREFIX browser: CONSTRUCT { ?narrower a av:group-of-people ; skos:prefLabel ?narrowerLabel ; browser:class "groupOfPeople" . ?narrower skos:broader ?node . skos:broader browser:class "broader" . } WHERE { ?narrower skos:broader ?node ; skos:prefLabel ?narrowerLabel . FILTER(LANG(?narrowerLabel) = "en") FILTER EXISTS { ?person a dbo:Person ; owl:sameAs ?personwd . FILTER(STRSTARTS(STR(?personwd), "http://www.wikidata.org/entity/")) { ?person dct:subject ?narrower . } UNION { ?person dct:subject/skos:broader ?narrower . } UNION { ?person dct:subject/skos:broader/skos:broader ?narrower . } } }""" . a browser:ExpansionQuery ; dct:title "People in the group" ; browser:hasDataset ; browser:query """PREFIX skos: PREFIX dct: PREFIX owl: PREFIX dbo: PREFIX av: PREFIX wdav: PREFIX browser: CONSTRUCT { ?personwd a wdav:personality ; skos:prefLabel ?name ; av:belongsTo ?node ; browser:class "personality" . av:belongsTo browser:class "belongsTo" . } WHERE { ?person a dbo:Person ; owl:sameAs ?personwd ; dct:subject ?node ; foaf:name ?name . FILTER(STRSTARTS(STR(?personwd), "http://www.wikidata.org/entity/")) }""" . a browser:ExpansionQuery ; dct:title "Groups of the person" ; browser:hasDataset ; browser:query """PREFIX skos: PREFIX dct: PREFIX owl: PREFIX av: PREFIX browser: CONSTRUCT { ?group a av:group-of-people ; skos:prefLabel ?label ; browser:class "groupOfPeople" . ?node av:belongsTo ?group . av:belongsTo browser:class "belongsTo" . } WHERE { ?person owl:sameAs ?node ; dct:subject ?group . ?group skos:prefLabel ?label . FILTER(LANG(?label ) = "en") }""" . a browser:PreviewQuery ; dct:title "Group of people preview" ; browser:hasDataset ; browser:query """PREFIX skos: PREFIX av: PREFIX browser: CONSTRUCT { ?node a av:group-of-people ; skos:prefLabel ?label ; browser:class "groupOfPeople" . } WHERE { ?node skos:prefLabel ?label . FILTER(LANG(?label) = "en") }""" . a browser:DetailQuery ; dct:title "Group of people detail" ; browser:hasDataset ; browser:query """PREFIX skos: PREFIX dbo: PREFIX av: CONSTRUCT { ?node skos:prefLabel ?label ; av:number-of-people ?numberOfPeople . } WHERE { ?node skos:prefLabel ?label . FILTER(LANG(?label) = "en") OPTIONAL { SELECT ?node (COUNT(*) AS ?numberOfPeople1) WHERE { ?person a dbo:Person ; dct:subject ?node . } GROUP BY ?node } BIND(COALESCE(?numberOfPeople1, 0) AS ?numberOfPeople) }""" . ##################################### # Datasets ##################################### a void:Dataset ; dct:title "DBPedia SPARQL endpoint" ; void:sparqlEndpoint . ##################################### # View vocabularies ##################################### av:group-of-people a owl:Class ; rdfs:label "group of people"@en ; rdfs:comment "group of people"@en . av:number-of-people a owl:DatatypeProperty ; rdfs:label "number of people"@en ; rdfs:comment "number of people in the group"@cs ; rdfs:domain av:group-of-people ; rdfs:range rdfs:Literal . av:belongsTo a owl:ObjectProperty ; rdfs:label "belongs to"@en ; rdfs:comment "a person belongs to a group of people"@cs ; rdfs:domain wdav:personality ; rdfs:range av:group-of-people . ##################################### # Visual styles ##################################### a browser:VisualStyleSheet ; browser:hasVisualStyle , , , , , , , , , , , , , , , , , , , . a browser:VisualStyle ; browser:shape "barrel" ; browser:width "90px" ; browser:height "40px" ; browser:background-color "#bbdcbc" ; browser:border-color "#59775a" ; browser:border-width "3px" ; browser:padding "4px" ; browser:text-halign "center" ; browser:text-valign "center" ; browser:text-wrap "wrap" ; browser:text-max-width "80px" ; browser:color "black" ; browser:label "data(label)" ; browser:font-size "9px" ; browser:hasSelector ".groupOfPeople" . a browser:VisualStyle ; browser:line-color "#207866"; browser:width "2"; browser:target-arrow-shape "triangle" ; browser:target-arrow-fill "hollow" ; browser:curve-style "straight" ; browser:line-style "solid" ; browser:label "data(label)" ; browser:font-size "8px" ; browser:curve-style "bezier" ; browser:control-point-step-size "40" ; browser:hasSelector ".broader" . a browser:VisualStyle ; browser:line-color "#207866"; browser:width "2"; browser:target-arrow-shape "triangle" ; browser:target-arrow-fill "hollow" ; browser:curve-style "straight" ; browser:line-style "solid" ; browser:label "data(label)" ; browser:font-size "8px" ; browser:curve-style "bezier" ; browser:control-point-step-size "40" ; browser:hasSelector ".belongsTo" .