Skip to content
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

clarify overriding resources #12

Open
elf-pavlik opened this issue Jan 4, 2014 · 5 comments
Open

clarify overriding resources #12

elf-pavlik opened this issue Jan 4, 2014 · 5 comments

Comments

@elf-pavlik
Copy link
Member

moving it here from #1 (comment)

"We may also need to give a good thought on handling cases of documents with embedded (nested) resources. I can imagine case of someone first creating a resource using big number of statements and then inserting another document with same resource embedded but only including few relevant statements. We can NOT just delete all the statement about this resource and replace them with just those few statements from embedded one! I would prefer not to get into this topic in more depth here and maybe I'll create separate issue for it... previous issue relevant this topic #8 I would prefer to leave for discussing blank nodes -- a big topic on its own"

@mcollina
Copy link
Collaborator

mcollina commented Jan 4, 2014

If we have the full resource loaded, we can apply one of the json diff
algorithms out there and apply only the changes. I'm on the go with no
references but I've seen many on npm (then there is the issue of picking
one :P).

@elf-pavlik
Copy link
Member Author

interesting note by David I. Lehn in email on Web Payments list: http://lists.w3.org/Archives/Public/public-webpayments/2014Jan/0048.html

There are issues to consider when comparing SPARQL, Changeset vocab,
JSON Patch, or other systems for triple editing. SPARQL and the
Changeset vocab will be able to edit linked data at a lower triples
level. JSON Patch may require that data be framed into a strict
JSON-LD format so that the patch paths make sense. That could require
finishing the framing spec. If you can read and write the full
resource data then just HTTP verbs and a read-modify-write process
could work for edits. I imagine editing data with blank nodes is full
of issues too. And the ease of any approach probably depends on
implementation details of the client and server. It could be a
challenge to come up with a good general solution.

Here we go again with #8

[...] I imagine editing data with blank nodes is full
of issues too. [...]

@mcollina
Copy link
Collaborator

mcollina commented Jan 8, 2014

Agreed that is a big issue.

I prefer working code against long specs, so let's try to sketch something more efficient than the current implementation. JSON patch can work, as we are already forcing our representation to a strict JSON-LD format (either compact or expanded). If it works, we can share it with the world and ask for feedbacks!

@elf-pavlik
Copy link
Member Author

👍
I would also prefer to get something working first without getting distracted with peculiarities of blank nodes 😉

@mcollina
Copy link
Collaborator

mcollina commented Jan 8, 2014

As for inner nodes, let's consider they always have an @id.
If they are blank, they automatically got a UUID-generated one (or any other strategy we might want to use!)

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

No branches or pull requests

2 participants