zazuko / cube-creator

A tool to create RDF cubes from CSV files
GNU Affero General Public License v3.0
12 stars 2 forks source link

feat: search projects #1330

Closed tpluscode closed 1 year ago

tpluscode commented 1 year ago

https://user-images.githubusercontent.com/588128/202178978-85e1135f-eb42-4f14-b126-96f11fe0b51c.mp4

changeset-bot[bot] commented 1 year ago

🦋 Changeset detected

Latest commit: bbdce1d8138d7c862cbc53ba48fd5cb60d6b295b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages | Name | Type | | ---------------------- | ----- | | @cube-creator/core-api | Minor | | @cube-creator/ui | Minor |

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

codecov-commenter commented 1 year ago

Codecov Report

Merging #1330 (51c4b91) into master (b715403) will decrease coverage by 0.38%. The diff coverage is 9.85%.

@@            Coverage Diff             @@
##           master    #1330      +/-   ##
==========================================
- Coverage   81.41%   81.03%   -0.39%     
==========================================
  Files         194      195       +1     
  Lines       13453    13509      +56     
  Branches      753      754       +1     
==========================================
- Hits        10953    10947       -6     
- Misses       2492     2554      +62     
  Partials        8        8              
Impacted Files Coverage Δ
apis/core/lib/auth.ts 0.00% <0.00%> (ø)
apis/core/lib/domain/cube-projects/search.ts 0.00% <0.00%> (ø)
apis/core/lib/domain/cube-projects/create.ts 84.11% <100.00%> (-0.37%) :arrow_down:
apis/core/lib/domain/cube-projects/import.ts 98.19% <100.00%> (-0.03%) :arrow_down:
packages/core/namespaces/shapes.ts 96.55% <100.00%> (+0.12%) :arrow_up:
packages/model/Project.ts 100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

tpluscode commented 1 year ago

@l00mi a bigger change to be aware of is that users become their own resources. Until now the user names were simply stored with projects themselves

graph <project> {
  <project> dcterms:creator <user> .
  <user> schema:name "John Doe" .
}

Now it will be like

graph <project> {
  <project> dcterms:creator <user> .
}

graph <user> {
  <user> schema:name "John Doe" ; a schema:Person , hydra:Resource .
}

Projects already referred to users with URIs so I don't find this a breaking change per se. User resources will be automatically created as users sign in. For existing users, I would run an update like this on every environment:

prefix dcterms: <http://purl.org/dc/terms/>
prefix schema: <http://schema.org/>
prefix cc: <https://cube-creator.zazuko.com/vocab#>
prefix hydra: <http://www.w3.org/ns/hydra/core#>

DELETE {
  GRAPH ?project {
    ?user schema:name ?name
  }
}
INSERT {
  GRAPH ?user {
    ?user schema:name ?name ; a schema:Person , hydra:Resource .
  }
} WHERE {
  GRAPH ?project {
    ?project a cc:CubeProject ; dcterms:creator ?user .
    ?user schema:name ?name .
  }
}