Sto imparando C # programmando una vera mostruosità di un'applicazione per uso personale. Parte della mia applicazione utilizza diverse query SPARQL in questo modo:
const string ArtistByRdfsLabel = @"
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?artist
WHERE
{{
{{
?artist rdf:type <http://dbpedia.org/ontology/MusicalArtist> .
?artist rdfs:label ?rdfsLabel .
}}
UNION
{{
?artist rdf:type <http://dbpedia.org/ontology/Band> .
?artist rdfs:label ?rdfsLabel .
}}
FILTER
(
str(?rdfsLabel) = '{0}'
)
}}";
string Query = String.Format(ArtistByRdfsLabel, Artist);
Non mi piace l'idea di mantenere tutte queste query nella stessa classe in cui le sto utilizzando, quindi ho pensato di spostarle nella loro classe dedicata per rimuovere il disordine nella mia classe RestClient.
Sono abituato a lavorare con SQL Server e sto semplicemente avvolgendo tutte le query in una stored procedure ma poiché non si tratta di SQL Server, mi sto sfogliando la testa su quale sarebbe la soluzione migliore per queste query SPARQL. Esistono approcci migliori per archiviare queste query utilizzando particolari caratteristiche del linguaggio C # (o approcci generali, non specifici di C #) di cui forse non sono a conoscenza?
EDIT: In realtà, queste query SPARQL non sono nulla di speciale. Solo frammenti di testo che in seguito voglio catturare, inserire alcuni parametri in String.Format e inviare una chiamata REST. Suppongo che tu possa pensare a loro come qualsiasi query SQL che è mantenuta nel livello dell'applicazione, non mi sono mai esercitato a mantenere le query SQL nel livello applicazione, quindi mi chiedo se ci siano pratiche "standard" con questo tipo di cose .