On 04/09/2020 14:38, Élie Roux wrote:
select ?le ?la where {
?le adm:logDate ?sdate .
FILTER(?sdate > "2021-08-20T00:00:00"^^xsd:dateTime)
BIND(?le AS ?la)
}
In that trivial case yes, the longer query doesn't allow that:
Put the common part in a single place:
WHERE {
... common part ...
{
...
} UNION {
...
}
}
and reorder to put common part together.
construct {
?eadm tmp:lastSync ?d .
?eadm tmp:dateCreated ?sdate .
}
WHERE
{
{
?le adm:logDate ?sdate .
FILTER(?sdate > "2020-08-20T00:00:00"^^xsd:dateTime)
?le a adm:Synced .
?va adm:logEntry ?le ;
adm:adminAbout ?v .
?v bdo:volumeOf ?iinstance .
?eadm adm:adminAbout ?iinstance .
} union {
?le adm:logDate ?sdate .
FILTER(?sdate > "2020-08-20T00:00:00"^^xsd:dateTime)
?le a adm:InitialDataCreation .
?eadm adm:logEntry ?le ;
adm:adminAbout ?e .
?e a ?type .
FILTER (?type != bdo:ImageGroup)
}
}
and takes 3.5s.
Best,