Biblioteca INTI
SPARQL Endpoint
INTI Library
SPARQL Endpoint
La Biblioteca INTI publica su Tesauro, Diccionarios Técnicos, Guía de Fuentes y los metadatos de su Catálogo Bibliográfico como datos abiertos y enlazados (Linked Data), siguiendo estándares W3C (SKOS, RDF, SPARQL 1.1). El Tesauro, además, está enlazado a la nube global de Linked Open Data mediante equivalencias con Wikidata. Cada colección es un dataset independiente, consultable directamente por HTTP.
The INTI Library publishes its Thesaurus, Technical Dictionaries, Sources Guide and the metadata of its Bibliographic Catalog as open Linked Data, following W3C standards (SKOS, RDF, SPARQL 1.1). The Thesaurus is additionally linked to the global Linked Open Data cloud through Wikidata equivalences. Each collection is an independent dataset, queryable directly over HTTP.
Datasets disponiblesAvailable Datasets
Cuatro datasets independientes en Apache Jena Fuseki, cada uno con su propio endpoint de consulta.
Four independent datasets on Apache Jena Fuseki, each with its own query endpoint.
Catálogo Bibliográfico
Bibliographic Catalog
Tesauro INTI
INTI Thesaurus
Diccionarios Técnicos
Technical Dictionaries
Guía de Fuentes
Sources Guide
Prefijos y VocabulariosPrefixes & Vocabularies
Los que realmente usan los datos — declaralos en tus consultas SPARQL.
The ones the data actually uses — declare them in your SPARQL queries.
| Prefijo / Prefix | URI | DescripciónDescription |
|---|---|---|
| inti: | http://biblioteca.inti.gob.ar/ontologia# | Ontología propia de la Biblioteca (Catálogo, Diccionarios, Fuentes)The Library's own ontology (Catalog, Dictionaries, Sources) |
| skos: | http://www.w3.org/2004/02/skos/core# | Simple Knowledge Organization System |
| dcterms: | http://purl.org/dc/terms/ | Dublin Core Terms |
| bf: | http://id.loc.gov/ontologies/bibframe/ | BIBFRAME |
| schema: | http://schema.org/ | Schema.org |
| rdfs: | http://www.w3.org/2000/01/rdf-schema# | RDF Schema |
| rdf: | http://www.w3.org/1999/02/22-rdf-syntax-ns# | RDF Syntax |
| wd: | http://www.wikidata.org/entity/ | Entidades Wikidata (destino de skos:exactMatch)Wikidata entities (skos:exactMatch target) |
Consultas de ejemploExample Queries
Las marcadas EN VIVO están tomadas literalmente del código del sitio (son las que usa la propia Biblioteca). Las marcadas ILUSTRATIVA siguen el modelo de datos real pero fueron escritas para este ejemplo.
Queries marked LIVE are taken literally from the site's own code. Queries marked ILLUSTRATIVE follow the real data model but were written for this example.
Buscar registros por título
Search records by title
Con título "curado" opcional (inti:tituloVisualizacion) sobre el título crudo.
With optional "curated" title (inti:tituloVisualizacion) over the raw title.
PREFIX schema: <http://schema.org/> PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX inti: <http://biblioteca.inti.gob.ar/ontologia#> SELECT ?uri ?titulo ?tituloVis WHERE { { ?uri schema:name ?titulo . } UNION { ?uri dcterms:title ?titulo . } OPTIONAL { ?uri inti:tituloVisualizacion ?tituloVis . } FILTER(CONTAINS(LCASE(STR(?titulo)), "acero")) } LIMIT 20
¿Y si necesito cruzar dos datasets?What if I need to combine two datasets?
Como cada dataset vive en un endpoint propio, no existe una sola consulta SPARQL que los una a los dos. La cláusula SERVICE (que permitiría federar consultas entre endpoints) no está disponible. La forma correcta —y la que usa la propia Biblioteca en su buscador— es hacer una consulta a cada endpoint por separado y cruzar los resultados del lado del cliente:
Since each dataset lives on its own endpoint, there's no single SPARQL query that joins both. The SERVICE clause (which would allow federating queries across endpoints) isn't available. The correct approach — and the one the Library's own search uses — is to query each endpoint separately and join the results client-side:
const [resTesauro, resCatalogo] = await Promise.all([ fetch('https://biblioteca.inti.gob.ar/sparql/Tesauro/query?query=...'), fetch('https://biblioteca.inti.gob.ar/sparql/Catalogo/query?query=...') ]); // Cruzá los bindings en tu propio código (por etiqueta, URI, etc.)
Editor de ConsultasQuery Editor
Editor SPARQL interactivo (YASGUI). Hacé clic en «Cargar» en cualquier ejemplo para traerlo acá.
Interactive SPARQL editor (YASGUI). Click "Load" on any example to bring it here.
Catalogo por Tesauro).
Points to Catálogo by default. To query another dataset, change the URL in the editor's endpoint bar (e.g., replace Catalogo with Tesauro).
Consumir el Endpoint desde códigoConsuming the Endpoint from Code
Ejemplos contra el dataset Catálogo — cambiá el nombre del dataset en la URL para consultar otro.
Examples against the Catálogo dataset — change the dataset name in the URL to query another.
curl -G \ --data-urlencode 'query=PREFIX schema: <http://schema.org/> SELECT ?uri ?titulo WHERE { ?uri schema:name ?titulo . FILTER(CONTAINS(LCASE(STR(?titulo)), "acero")) } LIMIT 10' \ -H 'Accept: application/sparql-results+json' \ 'https://biblioteca.inti.gob.ar/sparql/Catalogo/query'
from SPARQLWrapper import SPARQLWrapper, JSON endpoint = "https://biblioteca.inti.gob.ar/sparql/Catalogo/query" sparql = SPARQLWrapper(endpoint) sparql.setQuery("""PREFIX schema: <http://schema.org/> SELECT ?uri ?titulo WHERE { ?uri schema:name ?titulo . FILTER(CONTAINS(LCASE(STR(?titulo)), "acero")) } LIMIT 20""") sparql.setReturnFormat(JSON) results = sparql.query().convert() for row in results["results"]["bindings"]: print(row["titulo"]["value"])
const endpoint = 'https://biblioteca.inti.gob.ar/sparql/Catalogo/query'; const query = `PREFIX schema: <http://schema.org/> SELECT ?uri ?titulo WHERE { ?uri schema:name ?titulo . FILTER(CONTAINS(LCASE(STR(?titulo)), "acero")) } LIMIT 20`; const url = new URL(endpoint); url.searchParams.set('query', query); const response = await fetch(url, { headers: { 'Accept': 'application/sparql-results+json' } }); const data = await response.json(); data.results.bindings.forEach(r => console.log(r.titulo.value));
Términos de uso y LicenciaTerms of Use & License
Límites de usoUsage limits
SELECT, ASK, DESCRIBE, CONSTRUCT. La escritura requiere autenticación y no está disponible públicamente.Read-only: SELECT, ASK, DESCRIBE, CONSTRUCT. Writing requires authentication and isn't publicly available.SERVICE (federación con endpoints externos) está deshabilitada.The SERVICE clause (federation with external endpoints) is disabled.LicenciaLicense
Los metadatos y el grafo RDF publicados en estos 4 datasets (estructura, relaciones, etiquetas, jerarquías) están disponibles bajo Creative Commons Attribution 4.0 International (CC BY 4.0). Podés usarlos, modificarlos y redistribuirlos libremente citando a la Biblioteca INTI.
The metadata and RDF graph published in these 4 datasets (structure, relationships, labels, hierarchies) are available under Creative Commons Attribution 4.0 International (CC BY 4.0). You may use, modify and redistribute freely, crediting the INTI Library.
Cómo citar:
How to cite:
Biblioteca INTI — Datos Abiertos Enlazados. https://biblioteca.inti.gob.ar/endpoint.html Licencia: CC BY 4.0. Consultado: [fecha].
INTI Library — Linked Open Data. https://biblioteca.inti.gob.ar/endpoint.html License: CC BY 4.0. Accessed: [date].