Closed richhl closed 8 years ago
Actualmente la información más completa está almacenada en el punto sparql, en http://www.zaragoza.es/ciudad/gestionmunicipal/contratos/enlace/risp/consultas-perfil-contratante.htm existen ejemplos de consultas y estamos a su disposición para ayudarle si necesita realizar alguna consulta más específica.
gracias @virtor estoy probando un servicio que convierte consultas sparql en apis y cuando trato de ejecutar la consulta https://github.com/zaragoza-sedeelectronica/zaragoza-sedeelectronica.github.io/blob/master/sparql/queries/perfil-contratante/Detalle_Completo.sparql
obtengo el error adjunto en la imagen. (para reproducirlo basta entrar en el servicio http://basil.kmi.open.ac.uk/app e introducir la consulta contra el endpoint de zaragoza)
podríais darme alguna pista. Sé que la consulta da resultados correctos usándola tal como establecéis aquí https://www.zaragoza.es/ciudad/risp/ayuda.htm , quizá sea algo que tenga que ver con que no se incluya en la consulta el grapho por defecto o algo del estilo (soy newbie con sparql :(
gracias
El error que aparece es porque falta por incluir el prefijo xsd junto al resto de prefijos de la siguiente forma:
PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
La consulta Detalle_Completo.sparql la vamos a mirar porque tarda mucho en ejecutarse y devuelve un error.
gracias ese error se ha superado pero ahora recibo éste:
El error es al utilizar el group by desde basil, la misma consulta quitando el group by para obtener el número de licitadores y añadiendo el límite de registro funciona en basil y quedaría así:
PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
PREFIX pproc: <http://contsem.unizar.es/def/sector-publico/pproc#>
PREFIX s: <http://schema.org/>
PREFIX pc: <http://purl.org/procurement/public-contracts#>
PREFIX gr: <http://purl.org/goodrelations/v1#>
PREFIX dcterms: <http://purl.org/dc/terms/>
SELECT DISTINCT ?contrato ?nombreContrato ?type ?adjudicatario ?impLicitacionSinIVA ?impLicitacionConIVA ?impCanon
?impAdjudicacionSinIVA ?impAdjudicacionConIVA ?procedimiento ?entidad ?servicio
WHERE {
?contrato dcterms:title ?nombreContrato;
pproc:contractObject ?contractObject;
pproc:managingDepartment ?managing.
?tender pc:supplier ?supplier.
?managing dcterms:title ?servicio.
?supplier s:name ?adjudicatario.
?contractObject pproc:contractEconomicConditions ?contractEconomicConditions.
OPTIONAL{
?contractEconomicConditions pproc:budgetPrice ?budgetPriceNOVAT;
pproc:budgetPrice ?budgetPriceVAT.
?budgetPriceNOVAT gr:hasCurrencyValue ?impLicitacionSinIVA;
gr:valueAddedTaxIncluded "false"^^xsd:boolean.
?budgetPriceVAT gr:hasCurrencyValue ?impLicitacionConIVA;
gr:valueAddedTaxIncluded "true"^^xsd:boolean.
}
OPTIONAL {
?contractEconomicConditions pproc:feePrice ?feePrice.
?feePrice gr:hasCurrencyValue ?impCanon;
gr:valueAddedTaxIncluded "false"^^xsd:boolean.
}
?tender pc:offeredPrice ?offeredPriceNOVAT;
pc:offeredPrice ?offeredPriceVAT.
?offeredPriceNOVAT gr:hasCurrencyValue ?impAdjudicacionSinIVA;
gr:valueAddedTaxIncluded "false"^^xsd:boolean.
?offeredPriceVAT gr:hasCurrencyValue ?impAdjudicacionConIVA;
gr:valueAddedTaxIncluded "true"^^xsd:boolean.
{
SELECT DISTINCT ?contrato ?procedimiento ?type ?tender ?entidad ?servicio
WHERE {
?contrato a pproc:Contract;
a ?type;
pproc:contractProcedureSpecifications/pproc:procedureType ?procedimiento;
pc:contractingAuthority/dcterms:title ?entidad;
pc:tender ?tender;
pproc:managingDepartment ?managing.
?tender a pproc:FormalizedTender;
pproc:formalizedDate ?formalizedDate.
?managing dcterms:title ?servicio.
FILTER (regex(?formalizedDate, "2014"))
}
}
}
LIMIT 1000
gracias! en cuanto a errores en la consulta, como te comentaba yo no los recibo atacando con javascript y representando con d3, te refiero el ejemplo aquí https://github.com/isiargonauta/openmadness la llamada que estoy haciendo y el resultado es:
Object {contrato: "http://www.zaragoza.es/api/recurso/sector-publico/contrato/1128970-13",
nombreContrato: "CONTRATACIÓN DEL SERVICIO DE BAR EN LA SALA DE CONCIERTOS DEL CENTRO DE ARTES PARA JÓVENES EL TUNEL ",
type: "http://contsem.unizar.es/def/sector-publico/pproc#ContractWithoutLots",
adjudicatario: "MARTEGRA, S.L.",
contrato: "http://www.zaragoza.es/api/recurso/sector-publico/contrato/1128970-13",
entidad: "Ayuntamiento de Zaragoza",
impAdjudicacionConIVA: "4250",
impAdjudicacionSinIVA: "4250",
impCanon: "200",
impLicitacionConIVA: "200",
impLicitacionSinIVA: "200",
nombreContrato: "CONTRATACIÓN DEL SERVICIO DE BAR EN LA SALA DE CONCIERTOS DEL CENTRO DE ARTES PARA JÓVENES EL TUNEL ",
numLicitadores: "6",
procedimiento: "http://contsem.unizar.es/def/sector-publico/pproc#RegularOpen",
servicio: "Consejería de Participación Ciudadana y Régimen Interior",
type: "http://contsem.unizar.es/def/sector-publico/pproc#ContractWithoutLots"
A nosotros al probar la consulta nos ha dado errores de tiempo de ejecución que hemos solucionado añadiendo el LIMIT 1000, el tema del group by parece error de basil.
basil hace la petición pero parece que el endpoint devuelve content type text/html y esto impide que se genere el api, ¿es normal? me parece curioso porque entiendo que el endpoint no debería devolver por defecto ese content type. Os pego el error y un enlace por si queréis reproducir http://basil.kmi.open.ac.uk/app/#/basil/1iv9tmq56bdx5
HTTP/1.1 500 Internal Server Error
Date: Wed, 04 Nov 2015 13:17:15 GMT
Server: Jetty(9.3.z-SNAPSHOT)
X-Basil-Error: Endpoint returned Content-Type: text/html which is not currently supported for SELECT queries
Content-Type: application/json
Content-Length: 109
Connection: close
{ "error" : "Endpoint returned Content-Type: text/html which is not currently supported for SELECT queries" }
Creo que es porque falta el LIMIT 1000 por lo que el punto SPARQL está devolviendo el error que te decía de timeout
gracias, pero no debe ser por eso porque cambié el limit y me da el mismo error.
Puedes mirar http://basil.kmi.open.ac.uk/app/#/basil/1ieuyhngzsp4k creo que está funcionando
que bien gracias!!!! :)
Ya me han contestado sobre el group by, es un tema de sintaxis, mira en https://github.com/the-open-university/basil/issues/48 con la solución, ya está el api marchanod con la consulta con group by.
voy a solicitaros un PR con el query modificado.
salud
no soy capaz de encontrarlo aqui:
http://www.zaragoza.es/docs-api/
supongo que debería haber dado que punto sparql si que hay.
gracias!