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
LoMap format specification #6
Comments
I am uploading a small example given by Schema of how a place can look using JSON-LD. At the same time i link here the Place schema. It has more examples of JSON-LD with the different variables provided by the initiative. @iimxinn I tag you as you requested in the issue #4 to upload an example.
|
You should check this link to get further information about rdf -> https://arquisoft.github.io/viadeSpec/#definitions |
Hello everyone. After some trying I figured out how to do it with in all of those ways. I just wanted to leave the code here so anyone can use it to store data and maybe understand better how data is stored in SOLID so we can make better decisions about the format we want to use. I leave the code to store data using JSON-LD first because I think most people will be more interested in JSON-LD. Sorry in advance for the length, you can just read the part that you are interested in, if you have any doubts about the code please ask, I know it's not great code but it is just an example.
And here is the result in my POD: Please note that I'm using the functions provided by the inrupt solid-client library. I'm also using the overwriteFile function, which may not be the best function to use in this case, but I used it to give a simpler example. Now to give you an example of writing data into a SOLID POD using Things and Datasets:
And this is the result: The result is identical to using JSON-LD. If you want more information here is where I got the information. Finally, this is an example of using JSON to store data (I leave it so you can compare the three, but most of you probably have similar functions):
The only difference between JSON-LD and JSON is the mime type. |
Nice code! But using this way to store JSON-ld (that needs to only modify the actual JSON spec adding @context and @type, very similar by the way) gives me several questions:
|
Good morning, those are really good questions. I have been trying to find an answer to all of them, however I do not have a perfect answer to all. I'll try to give an answer to each one:
|
By the way, if you want to run the code I provided, please remember to use this import statement:
|
It seems nice! However, I've been loading markers to the map from the JSON spec and I don't know if with this specification will happen the same, but extracting data from pods is too slow (maybe 4 secs if you have more than 100 markers). Can you let me know how much does it least when you have this spec implemented in your code? |
I will let you know when I implmement it fully. |
I finally implemented it, I didn't time it but with aprox. 100 points it's something like a second. |
Good night! Please let me know your thoughts and feel free to suggest any improvements you may have! I've tried to follow our previous structure (with the modifications we have commented throughout this weeks). I have also included Schema Types, such as Review, ImageObject, Rating, etc... |
As proposed in Data specification with format JSON LD a problem arises when allowing third users to add scores, comments, and photos to a user's places. Let us consider the example of Alice creating a place and Bob adding a comment to Alice's place. The issues are outlined below. Trustworthiness:If Bob's comments are stored in Alice's POD, she could:
Therefore, we face a problem: just by looking at the file's contents we cannot be certain that the information added by third parties is correct. Ownership of information:The SOLID project's philosophy is for each user to store their data in their POD. Our specification goes against data decentralization and self-governance of one's data, since Bob's comments are stored in Alice's POD. Permissions:We want Bob to be able to add comments to Alice's places. Given our specification:
While the examples reference comments, this also applies to scores, photographs, and other information from third parties that we allow to add to a user's places. It's important to emphasize that the current highlighted problem does not automatically indicate that the entire specification is flawed or unusable. Rather, the specification is still a work in progress and there is room for improvement in future versions. Our focus should be on identifying and addressing the problem while continuing to work towards refining and optimizing the specification. We shouldn't abandon the effort entirely, but rather keep moving forward and striving for improvement. |
About security problemsI agree with you that security @DavidGonzalezFernandez could be a serious issue, but at the moment, I don't have a perfect solution for how to address it, I'd wait to hear what other people propose on how to sort it out. New format structure about coordinatesRegarding the coordinates section, I made a few changes. Instead of using the "geo" field, which might be unnecessary since "Place" already includes latitude and longitude, I simplified it to: "latitude": "43.35302550278352",
"longitude": "-5.849442050492078", I believe this new format is more straightforward and easier to understand |
I think you are absolutely right, those are some really interesting points. Those problems may be hard to solve so I was wondering if you, @DavidGonzalezFernandez, had any idea of how we could approach solving them. I personally don't know how it could be solved without using some type of cryptography, but that may take too long and it may be too difficult to implement in time. |
I have been pondering this problem for several days and have come to the following solution: Alice creates a place:
Bob wants to add a comment to Alice's place:
In this way:
The remaining problems are:
The solution is somewhat more complex than the last proposal, but conceptually I believe it solves all the core problems I raised before. It still needs to be implemented and the feasibility of the proposed solution verified. I will notify you @gonzalo-rr @Omitg24 when it is completely implemented. |
This Issue is only to discuss the format to use to save the data in the SOLID pods (such as using plain JSON, using JSON-LD, following the RDF format, etc), not to discuss what information to store (latitude, longitude, description, score, etc).
Please stick to the subject, and use other issues to talk about other subjects, thank you.
The text was updated successfully, but these errors were encountered: