Help needed to get equivalentClass and intersectionOf inferences working

I am evaluating virtual graph functionalities Stardog with a simple proof of concept ontology and a single MySQL database table. I have managed to write a mapping in SMS2 (Stardog Studio cloud does not seem to accept R2RML files exported from Protege) to map the data, which appears to be mostly correct, however my inferencing does not appear to as I would expect, which makes me suspect there being parts of the axiom that is not covered by the reasoner. In the equivalentClass axiom below, should Stardog's SL reasoner be able to handle this, or would I need a reasoner that can handle OWL DL?

The data model is a simple systems control process, wherein process hasEvent event instances and event hasCode code. The inference is simply to classify FailedProcess as process having events with the code "OFF".

### http://www.semanticweb.org/huylenguyen/ontologies/2025/5/uncommanded_v3#FailedProcess
umc:FailedProcess rdf:type owl:Class ;
  owl:equivalentClass [
    owl:intersectionOf (
      umc:ControlProcess
      [
        rdf:type owl:Restriction ;
        owl:onProperty umc:hasEvent ;
        owl:someValuesFrom [
          owl:intersectionOf (
            umc:OperatingEvent
            [
              rdf:type owl:Restriction ;
              owl:onProperty umc:hasCode ;
              owl:someValuesFrom [
                owl:intersectionOf (
                  umc:OperatingCode
                  [
                    rdf:type owl:Restriction ;
                    owl:onProperty umc:hasText ;
                    owl:hasValue "OFF"
                  ]
                ) ;
                rdf:type owl:Class
              ]
            ]
          ) ;
          rdf:type owl:Class
        ]
      ]
    ) ;
    rdf:type owl:Class
  ] .

Additionally to the above query, I am seeing something strange in the SMS2 mapping process, where there are duplicate entities with the same IRI. I was under the impression that in the SPARQL mapping, IRIs are unique and should always refer to the same entity. Is this not the case with Stardog? the mappings worked fine in Ontop.