C# - How to store and reuse queries

Posted by Jason Holland on Programmers See other posts from Programmers or by Jason Holland
Published on 2012-06-23T21:04:20Z Indexed on 2012/06/23 21:24 UTC
Read the original article Hit count: 356

Filed under:

I'm learning C# by programming a real monstrosity of an application for personal use. Part of my application uses several SPARQL queries like so:

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);

I don't like the idea of keeping all these queries in the same class that I'm using them in so I thought I would just move them into their own dedicated class to remove clutter in my RestClient class.

I'm used to working with SQL Server and just wrapping every query in a stored procedure but since this is not SQL Server I'm scratching my head on what would be the best for these SPARQL queries. Are there any better approaches to storing these queries using any special C# language features (or general, non C# specific, approaches) that I may not already know about?

© Programmers or respective owner

Related posts about c#