@ Override public Set < URI > listServicesWithModelReference ( URI modelReference ) { if ( modelReference == null ) { return ImmutableSet . of ( ) ; } StringBuilder queryBuilder = new StringBuilder ( ) ; queryBuilder . append ( "PREFIX msm: <" ) . append ( MSM . getURI ( ) ) . append ( "> " ) . append ( "PREFIX rdf: <" ) . append ( RDF . getURI ( ) ) . append ( "> " ) . append ( "PREFIX sawsdl: <" ) . append ( SAWSDL . getURI ( ) ) . append ( "> " ) . append ( "SELECT ?service WHERE { ?service rdf:type msm:Service . ?service sawsdl:modelReference <" ) . append ( modelReference ) . append ( "> . }" ) ; String query = queryBuilder . toString ( ) ; return this . graphStoreManager . listResourcesByQuery ( query , "service" ) ; }
Given the URI of a modelReference this method figures out all the services that have this as model references . This method uses SPARQL 1 . 1 to avoid using regexs for performance .