Skip to content

opencitations/oscar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

drawing

The OpenCitations RDF Search Application,

A user friendly search platform applicable for any triplestore endpoint.
This idea came out with regard to the OpenCitations project, which contains an open repository of scholarly citation data in RDF format, we would like to make accesible for any user to search and explore. The current version of the tool is integrated inside the OpenCitations web interface.
opencitations.net/search

One of the main characteristics of OSCAR is its adaptability to work with any other RDF triplestore. It is possible to configure OSCAR to work with a particular endpoint by configuring a particular JSON document, which specifies how the SPARQL queries are sent to that endpoint, and how the returned query results should be visualized, according to the predefined tabular view that OSCAR provides. In this repository we have a brief documentation/guidelines explaining the configure operations. Currently we have tested OSCAR with three different projects: OpenCitations, ScholarlyData, Wikidata. For each one of these projects we have its corresponding example directory and .html main entry:

OSCAR Configuration

0) OSCAR Needs bootstrap and jquery (currently OSCAR uses bootstrap-3.4.1 and jquery-1.11.3 /):
<link href="../../static/css/bootstrap.min.css" rel="stylesheet" />
<script src="path/to/jquery.min.js" />
<script src="path/to/bootstrap.min.js" />

1) Insert in your HTML page the following block:

<div class="__oscar__" data-type="..." data-view="..." data-filter="..."></div>

  • [[data-type]]: "advanced"/"free-text"
    e.g. type="advanced"
  • [[data-view]]= Combine: "rows_per_page" | "export_results" | "sort_results".
    e.g. view_op="rows_per_page export_results"
  • [[data-filter]]= Combine: "limit_results" | "filter_fields"
    e.g. filter_op="limit_results"

2) Include your configuration file, and right after that include the 'search.js' script in your HTML page, like this:

<script type="text/javascript" src="path/to/your/conf.js"></script>
<script type="text/javascript" src="path/to/search.js""></script>

3) To run OSCAR call its main method:

search.do_sparql_query([[QUERY]])

  • [[QUERY]]: in case an empty string is given OSCAR will build its initial interface. The other option is giving a string corresponding a query as URL address. e.g. Free-text search: "?text=10.1145%2F2362499.2362502" Advanced search: "?text=10.1145%2F2362499.2362502&rule=citing_documents&bc=and&text=Journal+of+Documentation&rule=journal"