Al, Another update ... the OPTIONAL thing was a fluke, not the real problem. (But it seemed reasonable late last night :-)
Anyway, after more investigation and tinkering around, the issue is that I have a RowMapper defined in one DAO/ "@Repository" that is referenced by 3 other DAOs. This setup worked in the past, but no longer. Now, I have to either:
- Separately annotate the RowMapper in the single DAO with its own @AutoWired, which has ripple effects in the Snarl Spring implementation (i.e., the Snarl Spring, generic RowMapper also would have to be @AutoWired)
- Change the code to not reference the RowMapper in the single DAO but jump into a "query" function which then executes the query and references the (internal) RowMapper
Obviously, the second is the easier and cleaner way of handling this.
But, in debugging the code, I found that the Spring files need to be updated with all the changes defined in the migration guide for Stardog 4.2.1. The code still references URI (versus IRI), it uses deprecated imports from openrdf, etc.
Posting this here just in case anyone might have done the same thing as I (referenced a RowMapper across DAOs without AutoWiring it).