# The pattern's own scenario, taken as a series of situations: each edition of Umbria Jazz is the
# situation of a jazz festival being held in July in Umbria. The series repeats at a period of one
# year - both the estimated and the measured period - and the situations are unified by the
# standing arrangement that has held since 1973.

@prefix d0: <http://www.ontologydesignpatterns.org/ont/d0.owl#> .
@prefix dul: <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#> .
@prefix recurrentsituationseries: <http://www.ontologydesignpatterns.org/cp/owl/recurrentsituationseries.owl#> .
@prefix ex: <https://w3id.org/ontoboard/example/recurrentsituationseries#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:UmbriaJazz a owl:NamedIndividual , recurrentsituationseries:RecurrentSituationSeries ;
    rdfs:label "Umbria Jazz, the annual festival held across the region of Umbria" ;
    recurrentsituationseries:hasEstimatedTimePeriod ex:OneYear ;
    recurrentsituationseries:hasMeasuredTimePeriod ex:OneYear ;
    recurrentsituationseries:hasMemberSituation ex:UmbriaJazz2023 ;
    recurrentsituationseries:hasTimePeriod ex:OneYear ;
    recurrentsituationseries:hasUnifyingSituation ex:JazzInUmbriaInJuly .

ex:UmbriaJazz2023 a owl:NamedIndividual , recurrentsituationseries:Situation ;
    rdfs:label "Umbria Jazz 2023: the 50th edition running 7-16 July in Perugia" ;
    recurrentsituationseries:hasImmediateNextSituation ex:UmbriaJazz2024 ;
    recurrentsituationseries:hasNextSituation ex:UmbriaJazz2024 ;
    recurrentsituationseries:hasTimePeriodBeforeNextSituation ex:OneYear ;
    recurrentsituationseries:isTheLastSituation "false"^^xsd:boolean ;
    recurrentsituationseries:situationNumber "50"^^xsd:integer .

ex:UmbriaJazz2024 a owl:NamedIndividual , recurrentsituationseries:Situation ;
    rdfs:label "Umbria Jazz 2024: the 51st edition running 12-21 July in Perugia" .

ex:OneYear a owl:NamedIndividual , recurrentsituationseries:TimePeriod ;
    rdfs:label "one year, July to July" .

ex:JazzInUmbriaInJuly a owl:NamedIndividual , recurrentsituationseries:UnifyingSituation ;
    rdfs:label "jazz programmed in Umbrian town squares in July, the arrangement every edition shares" ;
    recurrentsituationseries:isValidIn ex:Since1973 .

ex:Since1973 a owl:NamedIndividual , dul:TimeInterval ;
    rdfs:label "1973 to the present, the whole run of the festival" .

# Only one direction of each inverse pair is asserted: hasEstimatedTimePeriod/isEstimatedTimePeriodOf, hasImmediateNextSituation/hasImmediatePreviousSituation, hasMeasuredTimePeriod/isMeasuredTimePeriodOf, hasMemberSituation/isSituationMemberOf, hasNextSituation/hasPreviousSituation, hasTimePeriod/isTimePeriodOf, hasTimePeriodBeforeNextSituation/isTimePeriodBeforeNextSituationOf, hasUnifyingFactor/isUnifyingFactorOf, hasUnifyingSituation/isUnifyingSituationOf, involvesUnifyingFactor/isInvolvedInUnifyingSituation. A reasoner adds the other.
