From d94033fe65f1a3928ba8d2722e10b1c6f195e05f Mon Sep 17 00:00:00 2001 From: "Hofstetter Benjamin (extern)" Date: Sun, 9 Feb 2025 23:11:29 +0100 Subject: [PATCH] remove dulicate avatars --- src-vscode/package-lock.json | 4 ++-- src-vscode/package.json | 2 +- src/resources-utils.ts | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src-vscode/package-lock.json b/src-vscode/package-lock.json index b9c0a74..81bc5b6 100644 --- a/src-vscode/package-lock.json +++ b/src-vscode/package-lock.json @@ -1,12 +1,12 @@ { "name": "vscode-rdf-sketch", - "version": "1.0.3", + "version": "1.0.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vscode-rdf-sketch", - "version": "1.0.3", + "version": "1.0.5", "license": "MIT", "devDependencies": { "@types/mocha": "^10.0.6", diff --git a/src-vscode/package.json b/src-vscode/package.json index 2338706..ce795b4 100644 --- a/src-vscode/package.json +++ b/src-vscode/package.json @@ -2,7 +2,7 @@ "name": "vscode-rdf-sketch", "displayName": "RDF Sketch", "description": "Graphical rendering of RDF data", - "version": "1.0.3", + "version": "1.0.5", "license": "MIT", "icon": "images/zazuko.png", "publisher": "Zazuko", diff --git a/src/resources-utils.ts b/src/resources-utils.ts index 9ef58f5..6a294cc 100644 --- a/src/resources-utils.ts +++ b/src/resources-utils.ts @@ -16,13 +16,14 @@ export function resourcesFromDataset(dataset: Dataset): Resource[] { const resources = [...nodeSet].map(node => { const quads = dataset.match(node); const rdfClasses = [...quads].filter(quad => quad.predicate.equals(rdfEnvironment.namedNode('http://www.w3.org/1999/02/22-rdf-syntax-ns#type'))).map(quad => quad.object.value); - const avatars = rdfClasses.map(rdfClass => { + const avatarsWithDuplicates = rdfClasses.map(rdfClass => { return { label: mapTypeToLabel(rdfClass), color: mapTypeToColor(rdfClass), iri: rdfClass } }); + const avatars = avatarsWithDuplicates.filter((avatar, index) => avatarsWithDuplicates.findIndex(a => a.iri === avatar.iri) === index); const properties = [...quads].reduce((acc, { predicate, object }) => { if (!acc.has(predicate.value)) { const property = {