Skip to content

Commit

Permalink
publications included
Browse files Browse the repository at this point in the history
  • Loading branch information
angelip2303 committed Sep 26, 2024
1 parent def0869 commit 5a33997
Show file tree
Hide file tree
Showing 9 changed files with 415 additions and 314 deletions.
658 changes: 348 additions & 310 deletions .astro/data-store.json

Large diffs are not rendered by default.

Binary file not shown.
25 changes: 25 additions & 0 deletions src/components/common/Publication.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
import type { CollectionEntry } from "astro:content";
interface Props {
publication: CollectionEntry<"publications">;
}
const { publication } = Astro.props;
const { data } = publication;
const { title, authors, date, doi, book, conference, featured, path } = data;
export const prerender = true;
---

<li>
<p>
{title},
{authors.map((author) => `${author}, `)}
In <span>{book}</span>,
{conference},
{date}
</p>
<a href={doi}>DOI</a>
<a href={path}>PDF</a>
</li>
3 changes: 2 additions & 1 deletion src/components/pages/App.astro
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import Section from "../common/Section.astro";
import Hero from "../widgets/Hero.astro";
import Experience from "../widgets/Experience.astro";
import Bento from "../widgets/Bento.astro";
import Research from "../widgets/Research.astro";
const experienceSection = await getEntry("sections", "experience");
const projectsSection = await getEntry("sections", "projects");
Expand All @@ -27,7 +28,7 @@ const talks = await getCollection("talks");
<Bento list={projects} />
</Section>
<Section section={publicationsSection}>
<Bento list={publications} />
<Research publications={publications} />
</Section>
<Section section={talksSection}>
<Bento list={talks} />
Expand Down
4 changes: 2 additions & 2 deletions src/components/widgets/Bento.astro
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ const { list } = Astro.props;

<section
class=`
grid
grid grid-flow-dense
grid-cols-1 md:grid-cols-2 lg:grid-cols-4
gap-4
grid-flow-dense
auto-rows-[30rem]
`
>
{list.map((listItem) => <Card listItem={listItem} />)}
Expand Down
9 changes: 9 additions & 0 deletions src/components/widgets/Research.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
import Publication from "../common/Publication.astro";
const { publications } = Astro.props;
---

<ul class="flex flex-col justify-center">
{publications.map((publication) => <Publication publication={publication} />)}
</ul>
3 changes: 2 additions & 1 deletion src/content/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
experienceSchema,
listItemSchema,
menuSchema,
publicationSchema,
sectionSchema,
socialItemSchema,
} from "../schemas";
Expand All @@ -31,7 +32,7 @@ const projects = defineCollection({

const publications = defineCollection({
loader: glob({ pattern: "*.md", base: "src/data/publications" }),
schema: listItemSchema,
schema: publicationSchema,
});

const talks = defineCollection({
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: Using Pregel to Create Knowledge Graphs Subsets Described by Non-recursive Shape Expressions
authors:
- Ángel Iglesias Préstamo
- Jose Emilio Labra Gayo
date: October 2023
book: Knowledge Graphs and Semantic Web
conference: Knowledge Graph and Semantic Web Conference
featured: true
path: /public/pdf/using-pregel-to-create-knowledge-graphs-subsets-described-by-non-recursive-shape-expressions.pdf
doi: https://link.springer.com/chapter/10.1007/978-3-031-47745-4_10
---

# Using Pregel to Create Knowledge Graphs Subsets Described by Non-recursive Shape Expressions

Knowledge Graphs have been successfully adopted in recent years, existing general-purpose ones, like Wikidata, as well as domain-specific ones, like UniProt. Their increasing size poses new challenges to their practical usage. As an example, Wikidata has been growing the size of its contents and their data since its inception making it difficult to download and process its data. Although the structure of Wikidata items is flexible, it tends to be heterogeneous: the shape of an entity representing a human is distinct from that of a mountain. Recently, Wikidata adopted Entity Schemas to facilitate the definition of different schemas using Shape Expressions, a language that can be used to describe and validate RDF data. In this paper, we present an approach to obtain subsets of knowledge graphs based on Shape Expressions that use an implementation of the Pregel algorithm implemented in Rust. We have applied our approach to obtain subsets of Wikidata and UniProt and present some of these experiments’ results.
11 changes: 11 additions & 0 deletions src/schemas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,17 @@ export const listItemSchema = z.object({
url: z.string().url(),
});

export const publicationSchema = z.object({
title: z.string(),
authors: z.array(z.string()),
date: z.string(),
book: z.string(),
conference: z.string(),
featured: z.boolean(),
path: z.string(),
doi: z.string().url(),
});

export const socialItemSchema = z.object({
icon: z.string(),
url: z.string().url(),
Expand Down

0 comments on commit 5a33997

Please sign in to comment.