Indigenous groups are developing data storage technology that gives users privacy and control. Could their work influence those fighting back against invasive apps?
Terrastories is a geostorytelling application built to enable indigenous and other local communities to locate and map their oral storytelling traditions.
Digital representations of tangible and intangible cultural assets provide an essential basis for research in the cultural heritage domain and are more and more present in the day-to-day work of scholars. Thereby, an ever-increasing variety of technologies and data types is being employed, such as 2D, 3D, audio, video, AR/VR, thermography or computer tomography.
Our overarching goal is to match the production and continuous enrichment of digital cultural heritage with the demands of researchers, GLAM experts and various other audiences. In close collaboration with the digitisation community, we seek to establish a strong network in order to facilitate a regular exchange between producers and users of digital materials. This will be complemented by open and modular services and tools for the capture and enrichment process of cultural heritage objects.
Discover the Power of Vector Databases in AI: Transforming Data Handling & Insight Generation. Learn how vector embeddings revolutionize search, enhance recommendation systems, enable semantic search, and fuel AI innovation.
Cette bande dessinée didactique a été produite par le Service commun de la Documentation de l'Université de Guyane. Elle s'adresse à un public de doctorants et de chercheurs dans un objectif d'accompagnement à ces nouvelles pratiques scientifiques.
["slug" being an entity attribute]
Spring Data offers an existsBy query method, which we can define in the PostRepository, as follows:
1
2
3
4
5
6
@Repository
public interface PostRepository
extends JpaRepository<Post, Long> {
boolean existsBySlug(String slug);
}
[another] option to emulate existence is using a CASE WHEN EXISTS native SQL query:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Repository
public interface PostRepository
extends JpaRepository<Post, Long> {
@Query(value = """
SELECT
CASE WHEN EXISTS (
SELECT 1
FROM post
WHERE slug = :slug
)
THEN 'true'
ELSE 'false'
END
""",
nativeQuery = true
)
boolean existsBySlugWithCase(@Param("slug") String slug);
}
@Repository
public interface PostRepository extends BaseJpaRepository<Post, Long> {
@Query("""
select p
from Post p
where date(p.createdOn) >= :sinceDate
"""
)
@QueryHints(
@QueryHint(name = AvailableHints.HINT_FETCH_SIZE, value = "25")
)
Stream<Post> streamByCreatedOnSince(@Param("sinceDate") LocalDate sinceDate);
}
The FETCH_SIZE JPA query hint is necessary for PostgreSQL and MySQL to instruct the JDBC Driver to prefetch at most 25 records. Otherwise, the PostgreSQL and MySQL JDBC Drivers would prefetch all the query results prior to traversing the underlying ResultSet.