Chris@14: :- module(classical_mapping,[]). Chris@14: Chris@14: /** Chris@14: * Classical mapping for 303 redirects Chris@14: */ Chris@14: Chris@14: :- use_module(mapping). Chris@14: Chris@14: sparql_end_point('http://dbtune.org/classical/sparql/'). Chris@16: html_renderer('http://dig.csail.mit.edu/2005/ajar/ajaw/tab.html?uri='). Chris@14: directory('http://dbtune.org/classical/all/'). Chris@14: namespace('http://dbtune.org/classical/'). Chris@14: Chris@14: /** Chris@14: * Redirecting resources whithin the namespace Chris@14: */ Chris@14: Chris@14: mapping:see_other_rdf(requested_pattern(T),redirect_pattern([SparqlEndPoint,'?query=describe%20%3C',NameSpace,Path,'%3E'])) :- Chris@14: T\=[all,_], Chris@14: sparql_end_point(SparqlEndPoint), Chris@14: namespace(NameSpace), Chris@14: concat_atom(T,'/',Path). Chris@14: mapping:see_other(requested_pattern(T),redirect_pattern([Renderer,NameSpace,Path])) :- Chris@14: T\=[all,_], Chris@14: html_renderer(Renderer), Chris@14: namespace(NameSpace), Chris@14: concat_atom(T,'/',Path). Chris@14: Chris@14: Chris@14: /** Chris@14: * directories Chris@14: */ Chris@14: directory_query(Concept, Chris@14: [SparqlEndPoint, Chris@14: '?query=construct { %3fx a ', Concept, Chris@14: '} where { %3fx a ', Concept, '.}' Chris@14: ]) :- Chris@14: sparql_end_point(SparqlEndPoint). Chris@14: Chris@17: mapping:see_other_rdf(requested_pattern([all,composer]), redirect_pattern(Query)) :- Chris@14: directory_query('%3Chttp://dbtune.org/classical/resource/type/Composer%3E', Query). Chris@14: Chris@17: mapping:see_other_rdf(requested_pattern([all,composition]), redirect_pattern(Query)) :- Chris@17: directory_query('%3Chttp://purl.org/ontology/mo/Composition%3E', Query). Chris@17: Chris@17: mapping:see_other_rdf(requested_pattern([all,work]), redirect_pattern(Query)) :- Chris@17: directory_query('%3Chttp://purl.org/ontology/mo/MusicalWork%3E', Query). Chris@17: Chris@17: mapping:see_other_rdf(requested_pattern([all,conductor]), redirect_pattern(Query)) :- Chris@17: directory_query('%3Chttp://dbtune.org/classical/resource/type/Conductor%3E', Query). Chris@17: Chris@14: mapping:see_other(requested_pattern([all,Concept]),redirect_pattern([Renderer,Directory,Concept])) :- Chris@14: html_renderer(Renderer), Chris@14: directory(Directory).