es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Insensibilidad a mayúsculas y minúsculas en GraphDB

¿Existe alguna forma de hacer coincidencias sin distinguir mayúsculas y minúsculas en GraphDB?
El conjunto de datos de prueba es bastante pequeño. Alrededor de 8 millones de triples.

SELECT ?s ?name
WHERE {
?s <http: www.sample.org.uk/data/schema/simplename/name=""> ?name. 
?s <http: www.sample.org.uk/data/schema/provider=""> "nhle".
OPTIONAL {?s <http: www.sample.org.uk/data/schema/county/=""> "Essex"} 
OPTIONAL {?s <http: www.sample.org.uk/data/schema/district/=""> "Epping Forest"} 
OPTIONAL {?s <http: www.sample.org.uk/data/schema/parish/=""> "Buckhurst Hill"} 
}

Por supuesto, puedo usar FILTER, pero tarda unos siete segundos en retornar, lo cual es demasiado lento.

SELECT ?s ?name ?county ?district ?parish
WHERE {
?s <http: www.sample.org.uk/data/schema/simplename/name=""> ?name.
?s <http: www.sample.org.uk/data/schema/provider=""> "nhle".
OPTIONAL {?s <http: www.sample.org.uk/data/schema/county/=""> ?county}
OPTIONAL {?s <http: www.sample.org.uk/data/schema/district/=""> ?district}
OPTIONAL {?s <http: www.sample.org.uk/data/schema/parish/=""> ?parish}
FILTER (lcase(?county)='essex'
&& lcase(?district)='epping forest'
&& lcase(?parish)='buckhurst hill'
)
}

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, hay una manera de realizar coincidencias sin tener en cuenta la sensibilidad de mayúsculas y minúsculas en GraphDB. Una forma es utilizar la función lcase() para convertir los valores a minúsculas y luego compararlos. Por ejemplo, en la segunda consulta incluida en la pregunta, se utiliza la cláusula FILTER para comparar los valores de las variables county, district y parish convertidas a minúsculas mediante la función lcase(). Sin embargo, se observa que el uso de FILTER puede causar problemas de rendimiento y tardar más en devolver resultados.

Comments are closed.