VERSION "1.2"
PREFIX ex:  <https://example.com/range/reifier-query/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ord: <https://ontology.inferal.com/modules/ordering/>
PREFIX rng: <https://ontology.inferal.com/modules/range/>

ex:score-statement-order a ord:Ordering .

# This asserts the base score triple and assigns a reifier to it.
ex:alice ex:score ex:ten ~ ex:first-score-statement .

ex:first-score-statement
    a ord:Comparable ;
    ord:inOrdering ex:score-statement-order .

# This describes a reported score triple without asserting the base triple.
ex:middle-score-statement
    a ord:Comparable ;
    rdf:reifies <<( ex:alice ex:score ex:twenty )>> ;
    ord:inOrdering ex:score-statement-order ;
    ord:greaterThan ex:first-score-statement .

ex:last-score-statement
    a ord:Comparable ;
    rdf:reifies <<( ex:alice ex:score ex:thirty )>> ;
    ord:inOrdering ex:score-statement-order ;
    ord:greaterThan ex:first-score-statement, ex:middle-score-statement .

ex:statement-window
    a rng:Range ;
    rng:lowerBound ex:first-score-statement ;
    rng:lowerInclusive true ;
    rng:upperBound ex:last-score-statement ;
    rng:upperInclusive false ;
    rng:includesValue ex:first-score-statement, ex:middle-score-statement .
