sparql-examples

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

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

145

rq turtle/ttl

Project aspect: timeline

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/>
#defaultView:Timeline{"hide": ["?end_time", "?start_time"]}

PREFIX target: <http://www.wikidata.org/entity/Q27990087>

SELECT DISTINCT ?start_time ?end_time ?description WHERE {
  {  
    target: (wdt:P571 | wdt:P580) ?start_time ;
      (wdt:P576 | wdt:P582) ?end_time .
    BIND("Project time" AS ?description)
  } 
  UNION 
  {  
    target: (^wdt:P1344 | wdt:P710)+ ?project .
    ?project (wdt:P571 | wdt:P580) ?start_time ;
             (wdt:P576 | wdt:P582) ?end_time .
    ?project rdfs:label ?projectName .
    FILTER (lang(?projectName) = "en")
    BIND(?projectName AS ?description)
  }   
  UNION 
  {
    ?work wdt:P859/(wdt:P1344|^wdt:P710)* target: ;
                wdt:P577 ?start_time .
    BIND("Publication" AS ?description)
  }
  UNION
  {
    ?event wdt:P859 target: .
    ?event wdt:P585 | wdt:P580 ?start_time .
    BIND("📅 Sponsored event" AS ?description)
  }
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v8("?description"):::projected 
  v2("?end_time"):::projected 
  v7("?event")
  v5("?project")
  v4("?projectName")
  v1("?start_time"):::projected 
  v6("?work")
  a1((" "))
  c1([http://www.wikidata.org/entity/Q27990087]):::iri 
  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;
        v7 --"p:direct/P859"-->  c1
        subgraph union3[" Union "]
        subgraph union3l[" "]
          style union3l fill:#abf,stroke-dasharray: 3 3;
          v7 --"p:direct/P580"-->  v1
        end
        subgraph union3r[" "]
          style union3r fill:#abf,stroke-dasharray: 3 3;
          v7 --"p:direct/P585"-->  v1
        end
        union3r <== or ==> union3l
        end
        bind0[/"'📅 Sponsored event'"/]
        bind0 --as--o v8
      end
      subgraph union2r[" "]
        style union2r fill:#abf,stroke-dasharray: 3 3;
        v6 --"p:direct/P859"-->  a1
        subgraph union4[" Union "]
        subgraph union4l[" "]
          style union4l fill:#abf,stroke-dasharray: 3 3;
          c1 --"p:direct/P710"-->  a1
        end
        subgraph union4r[" "]
          style union4r fill:#abf,stroke-dasharray: 3 3;
          a1 --"p:direct/P1344"-->  c1
        end
        union4r <== or ==> union4l
        end
        v6 --"p:direct/P577"-->  v1
        bind1[/"'Publication'"/]
        bind1 --as--o v8
      end
      union2r <== or ==> union2l
      end
    end
    subgraph union1r[" "]
      style union1r fill:#abf,stroke-dasharray: 3 3;
      f2[["?projectName = 'en'"]]
      f2 --> v4
      subgraph union5[" Union "]
      subgraph union5l[" "]
        style union5l fill:#abf,stroke-dasharray: 3 3;
        c1 --"p:direct/P710"-->  v5
      end
      subgraph union5r[" "]
        style union5r fill:#abf,stroke-dasharray: 3 3;
        v5 --"p:direct/P1344"-->  c1
      end
      union5r <== or ==> union5l
      end
      subgraph union6[" Union "]
      subgraph union6l[" "]
        style union6l fill:#abf,stroke-dasharray: 3 3;
        v5 --"p:direct/P580"-->  v1
      end
      subgraph union6r[" "]
        style union6r fill:#abf,stroke-dasharray: 3 3;
        v5 --"p:direct/P571"-->  v1
      end
      union6r <== or ==> union6l
      end
      subgraph union7[" Union "]
      subgraph union7l[" "]
        style union7l fill:#abf,stroke-dasharray: 3 3;
        v5 --"p:direct/P582"-->  v2
      end
      subgraph union7r[" "]
        style union7r fill:#abf,stroke-dasharray: 3 3;
        v5 --"p:direct/P576"-->  v2
      end
      union7r <== or ==> union7l
      end
      v5 --"rdfs:label"-->  v4
      bind3[/"?projectName"/]
      v4 --o bind3
      bind3 --as--o v8
    end
    union1r <== or ==> union1l
    end
  end
  subgraph union0r[" "]
    style union0r fill:#abf,stroke-dasharray: 3 3;
    subgraph union8[" Union "]
    subgraph union8l[" "]
      style union8l fill:#abf,stroke-dasharray: 3 3;
      c1 --"p:direct/P580"-->  v1
    end
    subgraph union8r[" "]
      style union8r fill:#abf,stroke-dasharray: 3 3;
      c1 --"p:direct/P571"-->  v1
    end
    union8r <== or ==> union8l
    end
    subgraph union9[" Union "]
    subgraph union9l[" "]
      style union9l fill:#abf,stroke-dasharray: 3 3;
      c1 --"p:direct/P582"-->  v2
    end
    subgraph union9r[" "]
      style union9r fill:#abf,stroke-dasharray: 3 3;
      c1 --"p:direct/P576"-->  v2
    end
    union9r <== or ==> union9l
    end
    bind4[/"'Project time'"/]
    bind4 --as--o v8
  end
  union0r <== or ==> union0l
  end