-
Notifications
You must be signed in to change notification settings - Fork 36
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
Specification: Contradicting statements in 1.2 text #381
Comments
Issue 1 -- Should both be MAY Issue 2 -- MUST be flattened
|
Then how can a detached RO-Crate be identified? All other data entities can be absolute URIs even in attached RO-Crates. BTW, There is another place in the spec where it says that if the root data entity is an absolute URI then the crate is detached. In https://www.researchobject.org/ro-crate/specification/1.2-DRAFT/data-entities.html:
|
~~It may be that these terms are not really helpful to characterize entire crates. I think it may be better to simply state the rules about how data entities are identified, either with relative or absolute URIs.~~ (I said this, but on reflection that was not helpful)
The attached / detached distinction comes down to "Is the metatada document on disk in a directory or in some other form?", eg coming from an API.
In any case I think we should pause the release to resolve the issue and ensure that the rules can be implemented @stain.
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Simone Leo ***@***.***>
Sent: Monday, December 16, 2024 8:44:01 PM
To: ResearchObject/ro-crate ***@***.***>
Cc: Peter Sefton ***@***.***>; Comment ***@***.***>
Subject: Re: [ResearchObject/ro-crate] Specification: Contradicting statements in 1.2 text (Issue #381)
This may be a bigger issue. Habving a URI for a crate ID does NOT mean it is detatched This statement is incorrect - this line should be removed "A Detached RO-Crate can be identified by the root data entity<https://github.com/ResearchObject/ro-crate/blob/main/docs/_specification/1.2-DRAFT/root-data-entity> having an @id<https://github.com/id> different from ./ in the JSON." (structure.md line 85)
Then how can a detached RO-Crate be identified? All other data entities can be absolute URIs even in attached RO-Crates.
BTW, There is another place in the spec where it says that if the root data entity is an absolute URI then the crate is detached. In https://www.researchobject.org/ro-crate/specification/1.2-DRAFT/data-entities.html:
If B’s Root Data Entity has an @id that is an absolute URI indicating a detached RO-Crate<https://www.researchobject.org/ro-crate/specification/1.2-DRAFT/structure.html#detached-ro-crate> ...
—
Reply to this email directly, view it on GitHub<#381 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAFYTWBVBTMKTFUAVQ33WSL2F2OGDAVCNFSM6AAAAABTPT4QWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNBVGA4DGMZTGY>.
You are receiving this because you commented.Message ID: ***@***.***>
|
I think if the root We have already specified |
The traditional Linked Data way would be to not distinguish absolute and relative URIs, but rather relative URIs all become absolute based on how you found then. But I don't think we want to go down the route of "Resolve Because you will easily end up from |
Our current description of Profile Crates is linked to this discussion about attached/detached crates and may need updating as well depending on the outcome.
The example on that page has a root data entity with an absolute URI as |
First of all thanks @elichad for your work on this and @simleo for making sure we consider implementation. @Stian -- re relative paths being confusing -- they are anyway - you have explained how this does not "just work". I think that in our use case (see below) at least it makes sense for attached crates to have URIs (URLs, arcpids) as @ids as it makes it very clear that this thing has an 'official' @id -- which may match the same crate being served in detached mode. When we moved to having the RO-Crate Metadata Descriptor from the original '@id' I proposed that this would allow for the Root Data Entity to have URIs for IDs, including URLs and non-resolvable IDs like arcp:, which we have adopted In LDaCA we have crates in three 'modes':
Regarding @simleo's question about how to tell Attached from Detached in an implementation -- I don't think it's a property of the Crate metadata at all, it is the context of use that makes a crate attached or detached. How about we look at it like this:
I think generally speaking the python library started with a strong assumption that crates are Attached while the Javascript library has always treated crates as Detached in some sense (before we introduced that term), in that you always pass in a (JSON) object, and the library has no interaction with the file system. Maybe you could add a flag to ro-crate-py to specify the behaviour attached/detached? The only difference I can think of is checking that all local data entities are present on save or validate -- all other operations should be the same or am I missing something? In either case I think it's a good idea to let Attached crates have URIs for @ids as stated above. |
@ptsefton thanks for sharing those examples, that helps me understand what you're getting at. Stian is on leave until the new year, so let's discuss this at the next community call on 9 Jan. |
I have attempted to clear this up as a holiday activity. See my proposed solution: NOTE: This is not complete - I have not gone thru the whole spec to check for references, but have touched the sections on structure, root data entity and terminology for a start and to get some feedback on this general approach. @simleo I have tried to add some hints about what libraries would need to do (I don't think it will be too hard for RO-Crate-py) I am proposing that we define "Local RO-Crate Package" and "Detached RO-Crate Package" as the main terms but also recognize a third category which is "Abstract RO-Crate" where no attempt is made to verify that resources are present -- eg for use in an online validatore ot preview generator that CANT see local files and would not want to be link checking detached URLs. I also think that we should allow the use of fill URIs as IDs for "Local RO-Crate Packages" as this makes it very clear what the preferred ID is -- and the ./ does not actually work with linked data software anyway. |
Contradicting statements that I've found while proofreading the 1.2 spec. There may be more discovered as I continue...
In structure.md we have both:
L72
L197
Should these both be MAY, or both be SHOULD?
In metadata.md, L72 and L100
As the JSON-LD MUST be flattened, should these statements be upgraded to MUST as a consequence?
root-data-entity.md, L151-153
Contradiction (or just a mistype) in the second sentence? If it's an absolute URI, that indicates the crate is detached, but then it talks about what an attached crate may contain
The text was updated successfully, but these errors were encountered: