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

Leniently handle non-well-formed data and faithfully reproduce it on output #591

Closed
wants to merge 1 commit into from

Conversation

Projects
None yet
4 participants
@cbeer
Copy link
Member

commented Oct 27, 2014

Here's one option for addressing https://www.pivotaltracker.com/story/show/81380614

The current behavior (in cbeer-rdf-types, not sure about master) is to error on non-well-formed data. This is the other options. The user wants to store it, and we let them.

Or, we do tons more work and make it opt-in the repository configuration, or get really clever and make it opt-in at the request

@ajs6f ?

@ajs6f

This comment has been minimized.

Copy link
Contributor

commented Oct 27, 2014

Hm. It's a good point/question. I guess I'm inclined to do what you do here. Validation was a very interesting feature to me in the early days of Fedora 4, but it got shot down very strongly by other folks, and today, I'm inclined to leave it as a frontier for add-on modules. I guess we should let people store what they store. This plays a bit into the question about how to store typed literals. If we don't ascribe a type in the JCR to RDF-typed literals, and we don't do any processing on them that would make use of that type-safety, then what's the harm?

@cbeer

This comment has been minimized.

Copy link
Member Author

commented Oct 27, 2014

I'm not sure what the expectations placed on Fedora are. Is it a gate-keeper of correctness? Are we imposing burdens on clients by accepting and reproducing garbage? Or is the user always right?

(and, I think lenient handling is probably preferred, at least in the short-term)

@cbeer

This comment has been minimized.

Copy link
Member Author

commented Oct 27, 2014

@awoods

This comment has been minimized.

Copy link
Member

commented Oct 27, 2014

Lenient as an initial impl with a "strict" configuration setting down the line seems reasonable.

@ajs6f

This comment has been minimized.

Copy link
Contributor

commented Oct 27, 2014

This would be a good point of extension. "Strict" in this conversation means strict about literals, but it could come to imply other kinds of validation.

@escowles

This comment has been minimized.

Copy link
Contributor

commented Oct 27, 2014

+1 to starting out lenient and adding strictness later. I can imagine people having strong opinions about this (on both sides), but lenient seems like a good starting place.

@cbeer

This comment has been minimized.

Copy link
Member Author

commented Oct 27, 2014

Works for me.

@cbeer cbeer closed this Oct 27, 2014

@cbeer cbeer deleted the jcr-string-types branch Oct 27, 2014

@ajs6f

This comment has been minimized.

Copy link
Contributor

commented Oct 27, 2014

I think that Fedora is required to guarantee validity up to the Fedora model. That says nothing about either literal validity or other kinds of "structural" validity, which is why I think this is a good point of extension.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.