Skip to content

Add solid:Wallet for a Data Wallet #93

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Add solid:Wallet for a Data Wallet #93

wants to merge 1 commit into from

Conversation

timbl
Copy link
Contributor

@timbl timbl commented Oct 10, 2024

@timbl timbl changed the title Add solid:Wallet fr=or a Data Wallet Add solid:Wallet for a Data Wallet Oct 10, 2024
Copy link
Member

@csarven csarven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. What's the relevance of referring to a random blogpost about data wallets, as opposed to e.g., https://en.wikipedia.org/wiki/Digital_wallet as worst case or something more "authoritative" or internationally acknowledged or backed by a standards development body?
  2. If and how is a dataverse OS's data wallet may be compatible with a Solid "pod"? Can you link to relevant specifications?
  3. Can you link to any Solid specification that's making the case for solid:Wallet?
  4. Can you link to any (open source) Solid server or application that's currently using or making a public call for needing this (or similar class)? How do they function without this class?

This is all so that we don't randomly add / pollute stuff in Solid Terms. We have done that in the past because there was no process. See also https://github.com/w3c-cg/solid/blob/main/CONTRIBUTING.md#vocabulary-management

@timbl
Copy link
Contributor Author

timbl commented Oct 11, 2024

What's the relevance of referring to a random blogpost about data wallets, as opposed to e.g., https://en.wikipedia.org/wiki/Digital_wallet as worst case or something more "authoritative" or internationally acknowledged or backed by a standards development body?

This a PR discussion not a spec. Thought the blogpost would help people know that wallets are a thing.
Are you suggesting we should add https://en.wikipedia.org/wiki/Digital_wallet to the ontology?

If and how is a dataverse OS's data wallet may be compatible with a Solid "pod"? Can you link to relevant specifications?

The intent is that a Wallet in Solid will be a container which specifically stores things like credentials. It could be all or (typically) part of a pod.

There is an existing community which is not currently solid compatible at the The OpenWallet Foundation but there is a lot of potential synergy

Can you link to any Solid specification that's making the case for solid:Wallet?

No, this is a placeholder. We could mark it as such.

Can you link to any (open source) Solid server or application that's currently using or making a public call for needing this (or similar class)? How do they function without this class?

  1. I was thinking of writing a pane for SolidOS which would do simple wallet management.
  2. . If I was to add this to SolidOS think I'd want to use the class so one could track a wallet using type Indexes.
  3. The inrupt open source data wallet application puts your wallet related stuff in your pod. It uses a custom API in the backend but the data ends up in a wallet container within your pod.

@timbl
Copy link
Contributor Author

timbl commented Oct 11, 2024

May be related to Wikidata's digital wallet

a rdfs:Class ;
dc:issued "2024-10-10"^^xsd:date ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/terms#> ;
rdfs:comment "A part or all of a pod which contains credentials, etc." ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
rdfs:comment "A part or all of a pod which contains credentials, etc." ;
rdfs:comment "A part, up to all, of a pod which contains credentials and related documents." ;

@josephguillaume
Copy link

3. The inrupt open source data wallet application puts your wallet related stuff in your pod. It uses a custom API in the backend but the data ends up in a wallet container within your pod.

It's great to hear the inrupt data wallet does end up with data in the pod.

If I understand correctly, this is a class that would be referred to in a type registration as something like

solid:forClass solid:Wallet;
solid:instance </path/to/wallet/>

solid:Wallet is then a Data Library for credentials with its own domain specific index. I like the idea of formalising this to help clarify how wallets and Solid relate, but I don't yet understand what shape the data would end up being or what level of compatibility a solid:Wallet will have with competing standardisation efforts? Inrupt's documentation seems to refer to binary payloads? Is a solid:Wallet just a class of container? Or does it have more structure?

@elf-pavlik
Copy link
Member

Similar to my comment on #94 (comment)

One of the CG work items listed on https://solidproject.org/TR should use a predicate first. Based on that, it could be added to the vocabulary. I also proposed both PRs as a topic for the next CG meeting.

@NoelDeMartin
Copy link
Contributor

NoelDeMartin commented Oct 12, 2024

More generally, isn't a Solid POD already a "Data Wallet"? I thought the term Wallet was just being used as a marketing term to help people understand the purpose of the technology, but in technical terms I don't see what a "Data Wallet" has that a "Solid POD" doesn't.

Looking at the PR, if a data wallet is "A part or all of a pod which contains credentials, etc.", shouldn't it be possible with the current spec to register something in the type index as a container for credentials? Why do we need a new term to express that a container includes some type of data?

@melvincarvalho
Copy link
Member

ACK

I can begin to implement this. See SolidOS/solidos#215 (comment)

@melvincarvalho
Copy link
Member

Similar to my comment on #94 (comment)

One of the CG work items listed on https://solidproject.org/TR should use a predicate first. Based on that, it could be added to the vocabulary. I also proposed both PRs as a topic for the next CG meeting.

Let’s definitely consider wallets as a CG work item. Might be a good moment to reflect on how we handle smaller vocabulary changes — otherwise, folks may start spinning up their own alternatives.

I’ve actually had an EU-registered company called SolidPay that’s been aiming to implement wallets in Solid, for a few years now, so I’m really glad to see this on the radar.

rdfs:comment "A part or all of a pod which contains credentials, etc." ;
rdfs:label "Wallet"@en ;
rdfs:label "portefeuille"@fr ;
rdfs:label "Geldbörse"@de .
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The term "Geldbörse" specifically refers to a wallet for money.
I think this translation does not reflect the described concept well enough to be included here.

@jeswr jeswr self-requested a review April 15, 2025 13:23
@uvdsl
Copy link

uvdsl commented Apr 17, 2025

From the discussion (also on the gitter), I gather that the proposed solid:Wallet aims to describe "a collection of things that I may want to show to people such that they can verify the signature or proof" (as indicated by @jeswr's comment).
Using solid:Wallet as the class of these things, an application could discover the members of the class to display them (and their member things).

I thus see the following issue:

If the underlying idea is having multiple different solid:Wallets as in different collections of different cryptographically verifiable things, like in wallet_1 there is credit_card_1 and national_id_1 and in wallet_2 there is credit_card_2 and national_id_1 and drivers_license_123, so really - different collections of such things - then in the physical world, I still would not call these collections "wallets" if these two collections of cards just sit on my table. To me, a wallet is what enables me to store the single things, organize them, and pull them out for usage.

The term digital wallet is widely used "out there" already... e.g. Google Wallet, EUDI Wallet, and so on, and they refer to applications. By re-using the same term for only a "collection of things that I may want to show to people such that they can verify its signature or proof" -- instead of also referring to the application to do it -- will be misleading to a lot of people.

If I come back to my physical wallet, this wallet has different pockets or compartments for organizing cards and bills into different collections. Maybe such terms are not as specifically used already compared to the term wallet?

FWIW, I personally could also work with the model of having a collection resource, e.g. a container or a dataset series, where it is defined that the members adhere e.g. to the W3C VC data model (without defining a specific credential type).
In this case, we do not even need a specific class name for this concept.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants