Got it, it was from a previous question you had about something similar
Ok, I've got one idea for you. You could try having a separate database per user and have them query into a shared database using service queries. You'd have to make sure that you have "Reasoning over virtual graphs and SERVICE clauses" turned on which I think is the default. I couldn't find the properties setting for that in the documentation. I don't think the performance should be that bad since you won't have any abox data in the user db and all of it will be at the service endpoint.