SolidLabResearch / Challenges

24 stars 0 forks source link

Greet the user with their preferred name #4

Closed RubenVerborgh closed 2 years ago

RubenVerborgh commented 2 years ago

Pitch

Desired solution

Acceptance criteria

Pointers

Scenarios

pietercolpaert commented 2 years ago

I wonder whether we also have to consider language negotiation here, depending on whether you’re e.g., browsing a page in Chinese or in English?

RubenVerborgh commented 2 years ago

Absolutely. But perhaps we should have language as a separate challenge, and tie the two together later.

RubenVerborgh commented 2 years ago

Recently saw a good example

Screenshot_20220525-203320

So this, without asking (every time).

github-actions[bot] commented 2 years ago

Please provide a status update about this challenge. Every ongoing challenge needs at least one status update every 2 weeks. Thanks!

pheyvaer commented 2 years ago

@Sindhu-Vasireddy What is the status of this challenge?

Sindhu-Vasireddy commented 2 years ago

https://github.com/Sindhu-Vasireddy/SolidLoginGreeter is deployed at https://sindhu-vasireddy.github.io/SolidLoginGreeter/ as a demo for this challenge

RubenVerborgh commented 2 years ago

Great, we're off to a good start!

Now I propose to specifically zoom in on this bit:

  • This demo should work for people from different backgrounds.
    • people without a first name
    • people with a nickname
    • people with a chosen name

This it not fully reflected in https://github.com/Sindhu-Vasireddy/SolidLoginGreeter/blob/5b73ebea3775a6c84964c229d061fde3c16d3a5d/main.js#L116-L141 yet

And let's also implement this in a configurable way. So basically, that there is a declarative file in which I can state those preferences, something like this (pseudo-code, do not use):

preferred-name:
1. foaf:nick
2. foaf:givenName
3. schema:givenName
4. schema:fullName

So basically, there should be a generic piece of code that does not know about things like foaf:givenName; all of that knowledge should be in a declarative JSON or RDF file.

Sindhu-Vasireddy commented 2 years ago

Update: The user can now specify custom preference rules (and modify the order in default rules as well) to choose which name predicate (using eye reasoner on browser) to consider for the name greeting on the app, there is a default ruleset using foaf and schema vocabulary added to user pod in case the user doesn't want to specify the rules and just use the app. PFA the Reasoning proof result n3 file for a sample result. ReasoningProof_n3 Please let me know your feedback @RubenVerborgh .

pheyvaer commented 2 years ago

@Sindhu-Vasireddy The link https://github.com/Sindhu-Vasireddy/SolidLoginGreeter/blob/main/PreferenceRules.n3 gives a 404 for me.

Sindhu-Vasireddy commented 2 years ago

@pheyvaer I have updated the link now it is in https://github.com/Sindhu-Vasireddy/SolidLoginGreeter/blob/main/public/PreferenceRules.n3. The file was earlier there but I updated the code in the latest commit and forgot to update the link here.

RubenVerborgh commented 2 years ago

Great work, thanks @Sindhu-Vasireddy!

pheyvaer commented 1 year ago

You find the report for this challenge here.