As far as I see, as both might contain blank nodes, which are quite cumbersome to delete, I suggest separating the data from the model into two different graphs.
No problem with that. In most cases just need to query from your "data" graph - in some cases, you will need to additional FROM or FROM NAMED. However, the edges will be followed into any other graph.
For some cases of visualization in Studio, you might need to switch to "stardog:context:named" or "stardog:context:all".
Model and data:
:model {
:MyClass a owl:Class.
:myProperty a owl:DataProperty;
}
:data {
:x1 a :MyClass; :myProperty "123"^^xsd:integer.
}
Query:
select * from :data {?s a :MyClass; :myProperty ?o}