diff --git a/.env.example b/.env.example index 8a35a87..065fa4e 100644 --- a/.env.example +++ b/.env.example @@ -84,3 +84,10 @@ AWS_BUCKET= AWS_USE_PATH_STYLE_ENDPOINT=false VITE_APP_NAME="${APP_NAME}" + +###################### +#### RDF SETTINGS #### +###################### +SPARQL_ENDPOINT='https://idsm.elixir-czech.cz/sparql/endpoint/molmedb' +SPARQL_QUERY_PREFIX='?query=' +DB_RDF_PREFIX='https://rdf.molmedb.upol.cz/' \ No newline at end of file diff --git a/app/Helpers/SPARQLurl.php b/app/Helpers/SPARQLurl.php new file mode 100644 index 0000000..88851b3 --- /dev/null +++ b/app/Helpers/SPARQLurl.php @@ -0,0 +1,17 @@ +'); + $uiUrl = $ep.$sparql_prefix.$query; + return $uiUrl; + } +} diff --git a/app/Http/Controllers/RdfController.php b/app/Http/Controllers/RdfController.php new file mode 100644 index 0000000..dcc88a4 --- /dev/null +++ b/app/Http/Controllers/RdfController.php @@ -0,0 +1,38 @@ +json(['error' => 'Invalid RDF suffix'], 400); + } + + $uiUrl = SPARQLurl::rdfDescribeUrl($rdf_suffix); + return redirect()->away($uiUrl, 303); + + } +} diff --git a/routes/api.php b/routes/api.php index 30ca20e..e25a761 100644 --- a/routes/api.php +++ b/routes/api.php @@ -6,6 +6,7 @@ use App\Http\Controllers\MethodController; use App\Http\Controllers\ProteinController; use App\Http\Controllers\PublicationController; +use App\Http\Controllers\RdfController; use App\Http\Controllers\SearchController; use App\Http\Controllers\StatsController; use App\Http\Controllers\StructureController; @@ -97,4 +98,7 @@ Route::get('/{identifier}/form/select/methods', 'formSelectMethods'); Route::get('/{identifier}/similarities', 'similarities'); }); + + Route::get('rdf/{rdf_suffix}', [RdfController::class, 'simple_rdf']) + ->where('rdf_suffix', '.*'); }); \ No newline at end of file