sparql-examples

A set of SPARQL examples that are used in different TGX resources

View the Project on GitHub BiGCAT-UM/sparql-examples

104

rq turtle/ttl

Ontology aspect: data

Use at

PREFIX p: <http://www.wikidata.org/prop/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX target: <http://www.wikidata.org/entity/Q116446479>

SELECT DISTINCT ?description ?value ?valueUrl
WHERE {
  BIND(target: AS ?ontology)
  {
    BIND(1 AS ?order)
    BIND("Website" AS ?description)
    ?ontology wdt:P856 ?value .
    BIND(?value AS ?valueUrl)
  }
  UNION
  {
    SELECT
      (2 AS ?order)
      ("Maintainer(s)" AS ?description)
      (GROUP_CONCAT(?value_; separator=", ") AS ?value)
      (CONCAT("../authors/", GROUP_CONCAT(?q; separator=",")) AS ?valueUrl)
    {
      BIND(1 AS ?dummy)
      target: wdt:P126 ?iri .
      BIND(SUBSTR(STR(?iri), 32) AS ?q)
      ?iri rdfs:label ?value_string .
      FILTER (LANG(?value_string) = 'en')
      BIND(COALESCE(?value_string, ?q) AS ?value_)
    }
    GROUP BY ?dummy
  }
  UNION
  {
    SELECT
      (3 AS ?order)
      ("Contributors" AS ?description)
      (GROUP_CONCAT(?value_; separator=", ") AS ?value)
      (CONCAT("../authors/", GROUP_CONCAT(?q; separator=",")) AS ?valueUrl)
    {
      BIND(1 AS ?dummy)
      target: wdt:P50 | wdt:P178 | wdt:P767 ?iri .
      BIND(SUBSTR(STR(?iri), 32) AS ?q) 
      ?iri rdfs:label ?value_string . 
      FILTER (LANG(?value_string) = 'en')
      BIND(COALESCE(?value_string, ?q) AS ?value_)
    }
    GROUP BY ?dummy
  }
  UNION
  {
    SELECT
      (4 AS ?order)
      ("Part of" AS ?description)
      (GROUP_CONCAT(?value_; separator=", ") AS ?value)
      (CONCAT("../topic/", GROUP_CONCAT(?q; separator=",")) AS ?valueUrl)
    {
      BIND(1 AS ?dummy)
      target: wdt:P361 ?iri .
      BIND(SUBSTR(STR(?iri), 32) AS ?q) 
      ?iri rdfs:label ?value_string . 
      FILTER (LANG(?value_string) = 'en')
      BIND(COALESCE(?value_string, ?q) AS ?value_)
    }
    GROUP BY ?dummy
  }
  UNION
  {
    SELECT
      (5 AS ?order)
      ("License" AS ?description)
      (GROUP_CONCAT(?value_; separator=", ") AS ?value)
      (CONCAT("../topic/", GROUP_CONCAT(?q; separator=",")) AS ?valueUrl)
    {
      BIND(1 AS ?dummy)
      target: wdt:P275 ?iri .
      BIND(SUBSTR(STR(?iri), 32) AS ?q)
      ?iri rdfs:label ?value_string .
      FILTER (LANG(?value_string) = 'en')
      BIND(COALESCE(?value_string, ?q) AS ?value_)
    }
    GROUP BY ?dummy
  }
  UNION
  {
    SELECT
      (6 AS ?order)
      ("Wikidata property" AS ?description)
      (GROUP_CONCAT(?value_; separator=", ") AS ?value)
      (CONCAT("../", GROUP_CONCAT(?q; separator=",")) AS ?valueUrl)
    {
      BIND(1 AS ?dummy)
      target: wdt:P1687 ?iri .
      BIND(SUBSTR(STR(?iri), 32) AS ?q)
      ?iri rdfs:label ?value_string .
      FILTER (LANG(?value_string) = 'en')
      BIND(COALESCE(?value_string, ?q) AS ?value_)
    }
    GROUP BY ?dummy
  }
  UNION
  {
    SELECT
      (7 AS ?order)
      ("🛑 Replaced by" AS ?description)
      (GROUP_CONCAT(?value_; separator=", ") AS ?value)
      (CONCAT("../", GROUP_CONCAT(?q; separator=",")) AS ?valueUrl)
    {
      BIND(1 AS ?dummy)
      ?iri wdt:P1365 target: .
      BIND(SUBSTR(STR(?iri), 32) AS ?q)
      ?iri rdfs:label ?value_string .
      FILTER (LANG(?value_string) = 'en')
      BIND(COALESCE(?value_string, ?q) AS ?value_)
    }
    GROUP BY ?dummy
  }
}
ORDER BY ?order

graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v11("?_anon_d5635a4148474aba9b1ec2d6f2e48935148")
  v12("?_anon_d5635a4148474aba9b1ec2d6f2e48935153")
  v13("?_anon_d5635a4148474aba9b1ec2d6f2e48935156")
  v14("?_anon_d5635a4148474aba9b1ec2d6f2e48935159")
  v15("?_anon_d5635a4148474aba9b1ec2d6f2e48935162")
  v16("?_anon_d5635a4148474aba9b1ec2d6f2e48935165")
  v17("?description"):::projected 
  v16("?dummy")
  v8("?iri")
  v2("?ontology")
  v17("?order")
  v16("?q")
  v17("?value"):::projected 
  v17("?valueUrl"):::projected 
  v16("?value_")
  v6("?value_string")
  c3([http://www.wikidata.org/entity/Q116446479]):::iri 
  bind0[/"http://www.wikidata.org/entity/Q116446479"/]
  bind0 --as--o v2
  subgraph union0[" Union "]
  subgraph union0l[" "]
    style union0l fill:#abf,stroke-dasharray: 3 3;
    subgraph union1[" Union "]
    subgraph union1l[" "]
      style union1l fill:#abf,stroke-dasharray: 3 3;
      subgraph union2[" Union "]
      subgraph union2l[" "]
        style union2l fill:#abf,stroke-dasharray: 3 3;
        subgraph union3[" Union "]
        subgraph union3l[" "]
          style union3l fill:#abf,stroke-dasharray: 3 3;
          subgraph union4[" Union "]
          subgraph union4l[" "]
            style union4l fill:#abf,stroke-dasharray: 3 3;
            subgraph union5[" Union "]
            subgraph union5l[" "]
              style union5l fill:#abf,stroke-dasharray: 3 3;
              f1[["?value_string = 'en'"]]
              f1 --> v6
              bind2[/"'1^^xsd:integer'"/]
              bind2 --as--o v16
              v8 --"p:direct/P1365"-->  c3
              bind3[/"substring(str(?iri),'32^^xsd:integer')"/]
              v8 --o bind3
              bind3 --as--o v16
              v8 --"rdfs:label"-->  v6
              bind4[/"?value_string?q"/]
              v6 --o bind4
              v16 --o bind4
              bind4 --as--o v16
              bind7[/"?q"/]
              v16 --o bind7
              bind7 --as--o v16
              bind8[/"'7^^xsd:integer'"/]
              bind8 --as--o v17
              bind9[/"'🛑 Replaced by'"/]
              bind9 --as--o v17
              bind10[/"?value_"/]
              v16 --o bind10
              bind10 --as--o v17
              bind11[/"concat('../',)"/]
              null --o bind11
              bind11 --as--o v17
            end
            subgraph union5r[" "]
              style union5r fill:#abf,stroke-dasharray: 3 3;
              f12[["?value_string = 'en'"]]
              f12 --> v6
              bind13[/"'1^^xsd:integer'"/]
              bind13 --as--o v16
              c3 --"p:direct/P1687"-->  v8
              bind14[/"substring(str(?iri),'32^^xsd:integer')"/]
              v8 --o bind14
              bind14 --as--o v16
              v8 --"rdfs:label"-->  v6
              bind15[/"?value_string?q"/]
              v6 --o bind15
              v16 --o bind15
              bind15 --as--o v16
              bind18[/"?q"/]
              v16 --o bind18
              bind18 --as--o v15
              bind19[/"'6^^xsd:integer'"/]
              bind19 --as--o v17
              bind20[/"'Wikidata property'"/]
              bind20 --as--o v17
              bind21[/"?value_"/]
              v16 --o bind21
              bind21 --as--o v17
              bind22[/"concat('../',)"/]
              null --o bind22
              bind22 --as--o v17
            end
            union5r <== or ==> union5l
            end
          end
          subgraph union4r[" "]
            style union4r fill:#abf,stroke-dasharray: 3 3;
            f23[["?value_string = 'en'"]]
            f23 --> v6
            bind24[/"'1^^xsd:integer'"/]
            bind24 --as--o v16
            c3 --"p:direct/P275"-->  v8
            bind25[/"substring(str(?iri),'32^^xsd:integer')"/]
            v8 --o bind25
            bind25 --as--o v16
            v8 --"rdfs:label"-->  v6
            bind26[/"?value_string?q"/]
            v6 --o bind26
            v16 --o bind26
            bind26 --as--o v16
            bind29[/"?q"/]
            v16 --o bind29
            bind29 --as--o v14
            bind30[/"'5^^xsd:integer'"/]
            bind30 --as--o v17
            bind31[/"'License'"/]
            bind31 --as--o v17
            bind32[/"?value_"/]
            v16 --o bind32
            bind32 --as--o v17
            bind33[/"concat('../topic/',)"/]
            null --o bind33
            bind33 --as--o v17
          end
          union4r <== or ==> union4l
          end
        end
        subgraph union3r[" "]
          style union3r fill:#abf,stroke-dasharray: 3 3;
          f34[["?value_string = 'en'"]]
          f34 --> v6
          bind35[/"'1^^xsd:integer'"/]
          bind35 --as--o v16
          c3 --"p:direct/P361"-->  v8
          bind36[/"substring(str(?iri),'32^^xsd:integer')"/]
          v8 --o bind36
          bind36 --as--o v16
          v8 --"rdfs:label"-->  v6
          bind37[/"?value_string?q"/]
          v6 --o bind37
          v16 --o bind37
          bind37 --as--o v16
          bind40[/"?q"/]
          v16 --o bind40
          bind40 --as--o v13
          bind41[/"'4^^xsd:integer'"/]
          bind41 --as--o v17
          bind42[/"'Part of'"/]
          bind42 --as--o v17
          bind43[/"?value_"/]
          v16 --o bind43
          bind43 --as--o v17
          bind44[/"concat('../topic/',)"/]
          null --o bind44
          bind44 --as--o v17
        end
        union3r <== or ==> union3l
        end
      end
      subgraph union2r[" "]
        style union2r fill:#abf,stroke-dasharray: 3 3;
        f45[["?value_string = 'en'"]]
        f45 --> v6
        bind46[/"'1^^xsd:integer'"/]
        bind46 --as--o v16
        subgraph union6[" Union "]
        subgraph union6l[" "]
          style union6l fill:#abf,stroke-dasharray: 3 3;
          subgraph union7[" Union "]
          subgraph union7l[" "]
            style union7l fill:#abf,stroke-dasharray: 3 3;
            c3 --"p:direct/P767"-->  v8
          end
          subgraph union7r[" "]
            style union7r fill:#abf,stroke-dasharray: 3 3;
            c3 --"p:direct/P178"-->  v8
          end
          union7r <== or ==> union7l
          end
        end
        subgraph union6r[" "]
          style union6r fill:#abf,stroke-dasharray: 3 3;
          c3 --"p:direct/P50"-->  v8
        end
        union6r <== or ==> union6l
        end
        bind47[/"substring(str(?iri),'32^^xsd:integer')"/]
        v8 --o bind47
        bind47 --as--o v16
        v8 --"rdfs:label"-->  v6
        bind48[/"?value_string?q"/]
        v6 --o bind48
        v16 --o bind48
        bind48 --as--o v16
        bind51[/"?q"/]
        v16 --o bind51
        bind51 --as--o v12
        bind52[/"'3^^xsd:integer'"/]
        bind52 --as--o v17
        bind53[/"'Contributors'"/]
        bind53 --as--o v17
        bind54[/"?value_"/]
        v16 --o bind54
        bind54 --as--o v17
        bind55[/"concat('../authors/',)"/]
        null --o bind55
        bind55 --as--o v17
      end
      union2r <== or ==> union2l
      end
    end
    subgraph union1r[" "]
      style union1r fill:#abf,stroke-dasharray: 3 3;
      f56[["?value_string = 'en'"]]
      f56 --> v6
      bind57[/"'1^^xsd:integer'"/]
      bind57 --as--o v16
      c3 --"p:direct/P126"-->  v8
      bind58[/"substring(str(?iri),'32^^xsd:integer')"/]
      v8 --o bind58
      bind58 --as--o v16
      v8 --"rdfs:label"-->  v6
      bind59[/"?value_string?q"/]
      v6 --o bind59
      v16 --o bind59
      bind59 --as--o v16
      bind62[/"?q"/]
      v16 --o bind62
      bind62 --as--o v11
      bind63[/"'2^^xsd:integer'"/]
      bind63 --as--o v17
      bind64[/"'Maintainer(s)'"/]
      bind64 --as--o v17
      bind65[/"?value_"/]
      v16 --o bind65
      bind65 --as--o v17
      bind66[/"concat('../authors/',)"/]
      null --o bind66
      bind66 --as--o v17
    end
    union1r <== or ==> union1l
    end
  end
  subgraph union0r[" "]
    style union0r fill:#abf,stroke-dasharray: 3 3;
    bind67[/"'1^^xsd:integer'"/]
    bind67 --as--o v17
    bind68[/"'Website'"/]
    bind68 --as--o v17
    v2 --"p:direct/P856"-->  v17
    bind69[/"?value"/]
    v17 --o bind69
    bind69 --as--o v17
  end
  union0r <== or ==> union0l
  end