# The living conditions of Atlantic cod in the Northeast Atlantic, which is one
# situation holding a species, a depth range, a habitat and a water area together -
# the pattern's second scenario, "the species having a demersal habitat in a water
# area". Greenland halibut below it shows the plain situation hook the pattern
# specialises.

@prefix situation: <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#> .
@prefix speciesconditions: <http://www.ontologydesignpatterns.org/cp/owl/fsdas/speciesconditions.owl#> .
@prefix ex: <https://w3id.org/ontoboard/example/speciesconditions#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

ex:CodConditionsInArea27 a owl:NamedIndividual , speciesconditions:SpeciesConditions ;
    rdfs:label "the conditions Atlantic cod typically lives in, in the Northeast Atlantic" ;
    speciesconditions:forSpecies ex:AtlanticCod ;
    speciesconditions:hasBathymetricRange ex:ShelfDepths ;
    speciesconditions:hasHabitat ex:DemersalHabitat ;
    speciesconditions:inWaterArea ex:FaoArea27 .

ex:AtlanticCod a owl:NamedIndividual , speciesconditions:AquaticSpecies ;
    rdfs:label "Atlantic cod, Gadus morhua" .

ex:ShelfDepths a owl:NamedIndividual , speciesconditions:BathymetricRange ;
    rdfs:label "20 to 600 metres, the shelf waters" .

ex:DemersalHabitat a owl:NamedIndividual , speciesconditions:Habitat ;
    rdfs:label "demersal: living on or just above the sea bed" .

ex:FaoArea27 a owl:NamedIndividual , speciesconditions:WaterArea ;
    rdfs:label "FAO Major Fishing Area 27, the Northeast Atlantic" .

ex:GreenlandHalibut a owl:NamedIndividual , speciesconditions:AquaticSpecies , situation:Entity ;
    rdfs:label "Greenland halibut, Reinhardtius hippoglossoides" ;
    situation:hasSetting ex:HalibutDeepWaterSetting .

ex:HalibutDeepWaterSetting a owl:NamedIndividual , situation:Situation ;
    rdfs:label "the deep-water setting the halibut is found in, left as a plain situation" ;
    situation:isSettingFor ex:GreenlandHalibut .

# Only one direction of each inverse pair is asserted: forSpecies/hasConditions, hasBathymetricRange/isBathymetricRangeFor, hasHabitat/isHabitatFor, inWaterArea/isWaterAreaFor. A reasoner adds the other.
