-
Notifications
You must be signed in to change notification settings - Fork 1
SKG‐IF API
TeslaRIS provides full support for the SKG-IF (Scientific Knowledge Graph Interoperability Framework) API specification, enabling seamless data exchange with other research information systems.
- Fully compliant with SKG-IF specification v1.1.0
- Supports both JSON-LD and RDF/Turtle serializations
- Implements proper content negotiation
- Follows SKG-IF context and vocabulary standards
- Additional TeslaRIS extensions are backward compatible
The public SKG-IF endpoints are open and do not require authentication. Administrative endpoints for configuration and harvesting require appropriate permissions.
For more information about the SKG-IF standard, visit the official documentation.
| Set Name | Description | Entity Type |
|---|---|---|
product |
Research products (publications, datasets, software, etc.) | Research Product |
person |
Researchers and contributors | Person (Agent) |
organisation |
Institutions and organizations | Organisation (Agent) |
venue |
Journals, conference proceedings, and monographs | Venue |
All endpoints support filtering using the filter parameter with the following attribute filters:
- "identifiers.scheme" - Filters by identifier type (doi, url, openalex, eissn, issn) and checks if documents have identifiers of that scheme
- "identifiers.value" - Searches for specific identifier values across ORCID, Scopus Author ID, and OpenAlex ID fields
- "titles" - Matches exact title content in multilingual title fields
- "abstracts" - Performs case-insensitive regex search in abstract content fields
- "product_type" - Filters by research product category (literature, research data, research software) and maps to internal publication types
- "contributions.by" - Finds documents where specific persons (by database ID) contributed as authors, editors, or advisors
- "contributions.declared_affiliations" - Filters by organization affiliations using declared contributions references
- "contributions.role" - Checks for documents that have contributors in specific roles (author, editor, advisor)
- "contributions.contribution_types" - Filters by CRediT contribution types like writing, conceptualization, supervision, etc.
- "manifestations.type.class" - Searches for specific resource types using FABIO ontology classes (preprint, article, supplementary files, etc.)
- "manifestations.dates.modified" - Filters by last modification date of document files
- "manifestations.dates.distribution" - Filters by creation date of document files
- "manifestations.license" - Searches for specific Creative Commons licenses applied to document files
- "biblio.issue" - Matches exact journal or proceedings issue numbers
- "biblio.volume" - Matches exact journal or proceedings volume numbers
- "biblio.pages.first" - Filters by starting page number in publications
- "biblio.pages.last" - Filters by ending page number in publications
- "biblio.in" - Performs case-insensitive search in journal, proceedings, or monograph titles
- "contributions.by.identifiers.value" - Searches for contributors by their external identifiers (ORCID, Scopus ID, OpenAlex ID)
- "relevant_organisations" - Filters by related institution IDs associated with the research product
- "identifiers.scheme" - Filters by identifier type (doi, url, openalex, eissn, issn, isbn) and checks if venues have identifiers of that scheme
- "identifiers.value" - Searches for specific identifier values across ORCID, Scopus Author ID, and OpenAlex ID fields
- "title" - Matches exact title content in multilingual title fields
- "acronym" - Matches exact name abbreviations in multilingual abbreviation fields
- "type" - Filters by venue type (conference, book, journal) and maps to internal publication types
- "series" - Performs case-insensitive search in event names or publisher names
- "access_rights.status" - Filters by open access status (open, closed, embargoed, restricted, unavailable)
- "creation_date" - Filters by document creation date using date range queries
- "contributions.by" - Finds venues where specific persons (by database ID) contributed as editors or scientific board members
- "contributions.role" - Checks for venues that have contributors in specific roles (editor, scientific board member)
- "identifiers.scheme" - Filters by identifier type (orcid, url) and checks if persons have identifiers of that scheme
- "identifiers.value" - Searches for specific identifier values across ORCID and Scopus ID fields
- "given_name" - Matches exact first name in person name fields
- "family_name" - Matches exact last name in person name fields
- "name" - Performs smart name search that handles both single names (searches first or last name) and full names (searches first and last name combination)
- "affiliations.affiliation" - Filters by specific organization affiliations using institution database IDs
- "affiliations.role" - Performs case-insensitive search in employment role descriptions
- "affiliations.period.start" - Filters by employment start dates using date range queries
- "affiliations.period.end" - Filters by employment end dates using date range queries
- "identifiers.scheme" - Filters by identifier type (orcid, url, openalex) and checks if organisations have identifiers of that scheme
- "identifiers.value" - Searches for specific identifier values across ORCID, Scopus Author ID, and OpenAlex ID fields
- "country" - Matches exact country codes in organisation country fields
- "short_name" - Matches exact name abbreviations in organisation abbreviation fields
- "name" - Matches exact organisation name in multilingual name fields
- "other_names" - Matches exact alternative organisation names in multilingual name fields
- "website" - Searches for specific website URLs in organisation URI collections
-
dateFrom: Filter entities created/modified in our system on or after this date (YYYY-MM-DD) -
dateTo: Filter entities created/modified in our system on or before this date (YYYY-MM-DD)
-
format=json(default): JSON-LD format -
format=ttlorformat=rdf: Turtle RDF format
TeslaRIS can also harvest data from other SKG-IF compliant systems.
To enable harvesting from external SKG-IF sources, administrators need to configure source definitions in the system configuration file.
{
"sources": [
{
"sourceName": "CRIS UNS",
"baseUrl": "https://cris.uns.ac.rs/api/skg-if",
"metadataFormatParameter": "format",
"dateFromFilterParam": "dateFrom",
"dateToFilterParam": "dateTo",
"additionalFilters": "product_type:literature",
"converterClass": "SKGIFConverter",
"sourceIdentifierPrefix": "TESLARIS"
}
]
}- sourceName - Display name for the source in the admin interface
- baseUrl - Base URL of the external SKG-IF API endpoint
- metadataFormatParameter - Query parameter name for output format selection (typically "format")
- dateFromFilterParam - Query parameter name for start date filtering (typically "dateFrom")
- dateToFilterParam - Query parameter name for end date filtering (typically "dateTo")
- additionalFilters - Optional static filters to apply to all requests (e.g., "product_type:literature")
- converterClass - Internal converter class for data transformation (use "SKGIFConverter")
- sourceIdentifierPrefix - Prefix for imported entity identifiers to avoid conflicts
To begin harvesting from external SKG-IF endpoints:
- Navigate to the administration interface
- Go to the harvester section -> 'SKG-IF sources' tab
- Select one of the configured SKG-IF API sources
- Insert the optional author or institution identifiers used for targeted harvesting
- Set up automatic harvesting schedules that TeslaRIS enables
Once set-up, the scheduled task will appear in scheduled tasks list.