- From: Martin Hepp <mfhepp@gmail.com>
- Date: Fri, 9 Mar 2018 13:57:25 +0100
- To: Hugh Glaser <hugh@glasers.org>
- Cc: Melvin Carvalho <melvincarvalho@gmail.com>, Dan Brickley <danbri@danbri.org>, Semantic Web <semantic-web@w3.org>
- Message-Id: <02947CFD-F64F-44A5-9E7E-AFBE98E2E6D4@gmail.com>
What about
http://www.heppnetz.de/ontologies/goodrelations/v1.html#owns
?
;)
Martin
---------------------------------------
martin hepp
www: http://www.heppnetz.de/
email: mhepp@computer.org
> Am 09.03.2018 um 13:23 schrieb Hugh Glaser <hugh@glasers.org>:
>
> I love this thread.
>
> I think I could base an entire Semantic Web and Linked Data course on Melvin's:
>
>> Is there a "has" predicate?
>
>> e.g.
>> Alice has 10^^<#apples>
>
> And all the ramifications.
> (Including edge issues such as what seems to me to be an uncomfortable relationship of RDF and XML Schema datatypes that sort of sit outwith the RDF model.)
>
> Some more comments.
>
> Now Melvin has told us something of how the RDF might be consumed, we can begin to think properly of what would be best - as always, things can only be usefully judged with respect to whether they are fit for any purpose they might have.
> We must remember that anything is fit for purpose in a write-only store!
>
> Essentially, Melvin asked:
>
>> Is there a "bar" predicate?
>> e.g.
>> foo bar 10^^<#baz>
>>
> And of course the bald answer is "no".
> It is your concept of what "bar" means, and unless you personally have already defined the same predicate, no-one else will have had the same meaning.
> But if you tell me what you mean by "bar", I might be able to suggest a predicate that someone else has used that has some similarity.
> And of course you can define your own datatype, if that is useful (I think, but I find https://www.w3.org/TR/swbp-xsch-datatypes/#sec-dl-dt rather hard going.)
> But actually, if you only use "has" as you describe fro apples/satoshis, I guess the datatype gives no added value or discrimination.
>
> What you are actually doing here, is using RDF triples as a triple/graph store, without any semantics to speak of.
> Hence many of us on the list will have gagged somewhat at the initial question:
> "Hang on, I want some semantics here!"
> But if that is all you want, then I say "Go for it!" - your "has" is fine.
>
> And yes, you may want to choose a richer text string than "has" or "bar" for your predicate, as comments and descriptions are always useful for documentation and readability.
>
> But if you want a bit (or a lot) more modelling, there have been various useful suggestions already in the thread, of course.
>
> With respect to your use case/application, I have a feeling you are going to have to get quite a bit more complicated, if you are going to do anything of interest with the blockchain.
> If you are representing a wallet or whatever, then you will need to know all sorts of stuff about the transactions that Alice has the keys for concerning the aggregations and fractions of the satoshis.
> And if you are allowing transactions, then you will need to be doing stuff for "sweeping" and things as the transactions happen.
> If you leave it as you have, then all you are really doing is representing a ledger, without any significant distribution or whatever.
>
> Since it is only polite, I'll also try to answer your questions, even though there are people much better qualified :-) :
>
>> On 8 Mar 2018, at 22:19, Melvin Carvalho <melvincarvalho@gmail.com> wrote:
>>
>>
>>
>>
>> Thanks Dan. Perhaps my use case may shed some more light.
>>
>> Distributed ledger technology is a hot topic right now, and I was thinking that a "has" predicate could be used to create a distributed ledger.
>>
>> <Alice> has 10^^<#satoshis>
>> <Bob> has 20^^<#satoshis>
>>
>> Indeed it would be possible to create a payment using a PATCH in this way, creating a truly scalable distributed / decentralized ledger.
>>
>>
>> Perhaps 'owns' is a better term here, tho im not sure
>>
>> Question 1 is:
>>
>> <Alice> has 10^^<#satoshis>
>>
>> the same as
>>
>> <Alice> <#satoshis> 10 # probably not as 10 would be xsd:int
> No.
> And not even functionally the same in terms of usefulness.
> The satoshi datatype is pretty worthless.
> You can't query it like you can in the second version (hence my comment right at the start on edge issues).
> And a store won't help you do anything useful with it, I think.
> The second version you can do
> {?who <#satoshis> ?value .}
> 10 will not usually be xsd:int unless you say it is, by the way.
>
> But note!!, don't forget:
> Asserting (in either version) that Alice has 10 satoshis twice will simple do that - her balance will not increase, whereas asserting she has 10, and then asserting that she has 9 will result in her apparently having 19 (or an ambiguity of her balance, however you want to interpret it.)
> It depends what your use case and meaning are, but I think that says that this is a Bad Way of doing things. :-)
>
>>
>> Question 2 is:
>>
>> <Alice> has 10^^<#satoshis>, 20^^<#satoshis>
>>
>> legal?
> Yes (modulo any syntax problems).
> It is a legal structure, but I think you mean is it legal in terms of meaning.
> That is what I think I tried to discuss in the answer to Question 1.
>
>>
>> You want to avoid having multiple balances you see. And if its possible to avoid without SHACL / ShEx that would be a simplification.
> You can ask yourself whether
>> <Alice> has 10^^<#satoshis>, 10^^<#satoshis>
> is "legal" too.
>
> Now we know that what you are trying to represent is balance, not transactions, we move into a new world.
> Representing temporal aspects, such as changing real world values would be a nice couple of lectures (or more!) in my course.
> But it does strike me that the blockchain, which is designed to be immutable, is a better representation suited for RDF than trying to keep a store of changing balances that are snapshots of that blockchain.
>
> I suspect you now have a feeling that there might be better ways to model this for your use case.
>
> So, many thanks for the question, and good luck finding a good solution to the problem.
>
> Hugh
>
>>
>>
>> DAN
>>
>>
>> On 8 Mar 2018 07:08, "Melvin Carvalho" <melvincarvalho@gmail.com> wrote:
>> e.g.
>>
>> Alice has 10^^<#apples>
>
> --
> Hugh
> 023 8061 5652
>
>
Received on Friday, 9 March 2018 12:57:51 UTC