So far, I have been using OWL and RDFS to define ontologies and enable reasoning. Also, I would consider using SHACL for controlling the data integrity. However, I have just read two articles explaining why we should switch from OWL/RDFS to SHACL completely: Why I Don't Use OWL Anymore — TopQuadrant, Inc and Why I Use SHACL For Defining Ontology Models — TopQuadrant, Inc
Any thoughts and experiences about that? And how would Stardog reasoner react?