It appears that Stardog is not compliant with SPARQL 1.1 Protocol, since it requires a special endpoint (db/update instead of db/query), and is also not compliant with SPARQL 1.1 Graph Store HTTP Protocol, requiring a transaction to be active in order to upload graph data.
These discrepancies cause my standards-compliant software to not function properly with a Stardog endpoint. Is there a workaround? A different endpoint I should be using?
You are correct that Stardog uses separate endpoints for read queries and update queries. But SPARQL Update queries run in their own transaction so it is not necessary to initiate it explicitly. If you have a test case proving otherwise, please share details and we'll investigate.
I probably misunderstood your second question. I see that you refer to the SPARQL Graph Store Protocol and not the update operation in the SPARQL Protocol. In that case your endpoint is /db but still there should be no need for explicit transaction management. We have API extensions for the cases when it's needed: Home | Stardog Documentation Latest