-
Notifications
You must be signed in to change notification settings - Fork 34
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
observable:inReplyTo should behave the same as observable:messageID #380
Comments
I would support modifying observable:inReplyTo to be a DatatypeProperty with range of xsd:string. I believe it was originally modeled in UCO as an ObjectProperty with the goal of making the reply chaining of the email message easier to understand as a UCO graph. I agree that ObjectProperty approach is not closely aligned with the specific approach specified in RFC 2822 and therefore more problematic for a forensic capture of an email message as well as some of the other potential concerns outlined above. I would make not that while the cardinality of observable:messageID is 0..1, the cardinality of observable:inReplyTo should be 0..* I would also not that this same pattern change should be applied to the observable:references property as well. |
(Apologies for linking the mimeType PR, I had a misclick.) |
A follow-on patch will regenerate Make-managed files. References: * ucoProject/UCO#380 Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
References: * ucoProject/UCO#380 Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
A follow-on patch will regenerate Make-managed files. References: * ucoProject/UCO#380 Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
No effects were observed on Make-managed files. References: * ucoProject/UCO#380 Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
The review checklist has been completed on PR 397. This proposal takes care of some SHACL validation errors on the website. |
No changes were observed in Make-managed files. References: * [ONT-465] typo in ttl file * ucoProject/UCO#373 * ucoProject/UCO#380 Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
A follow-on patch will regenerate Make-managed files. References: * [ONT-465] typo in ttl file * ucoProject/UCO#373 * ucoProject/UCO#380 Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
References: * [ONT-465] typo in ttl file * ucoProject/UCO#373 * ucoProject/UCO#380 Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
Background
(Ontology concepts noted in this Issue assume the
observable:
prefix unless noted otherwise.)The properties
messageId
andinReplyTo
pertain to RFC 822(/2822) headers for email. Take for example these lines drawn from an email in the m57 Jean scenario:messageId
uses a datatype property, rangexsd:string
, to store the value of theMessage-Id
header. However,inReplyTo
is currently implemented as acore:Facet
-housed object property, rangeObservableObject
.Requiring an object is problematic in a few ways:
ObservableRelationship
object than of acore:Facet
-housed object property. Particularly, the association would likely have a chain of reasoning that led to its declaration.Message-ID
header can be discovered from multiple evidence sources. To which object would aninReplyTo
object-property link, in the rather?In-Reply-To
header, an email with that message identifier might not have been encountered yet. This can cause confusion in discovery order, and induce an object identity-resolution problem well worth avoiding.In-Reply-To
header is not included in signed headers, its content integrity may need reviewing.There may be other issues, but the proposer hopes that is sufficient.
Requirements
Requirement 1
inReplyTo
should be implemented in the same style asmessageID
.Requirement 2
inReplyTo
should be aowl:DatatypeProperty
, rangexsd:string
.Risk / Benefit analysis
Benefits
Risks
Competencies demonstrated
Competency 1
Under the current UCO implementation, this is an example parse result for
inReplyTo
andmessageID
that could be generated for the above M57 header values.Note the usage of
wasDerivedFrom
from PROV-O. This usage is due to some slight circularity in the chain of derivations, as thecore:Facet
-housed property links to something derived from itself.If there are multiple independent replies to some message, and additional information is found about the replied-to message (say, some ported attachment), this representation might induce significant chain of custody and logistical trouble from trying to flesh out the knowledge of the replied-to message.
Competency Question 1.1
At least two emails are encountered with the same
In-Reply-To
header value.To which emails did this user reply multiple times (forking, not continuing, the thread)?
Result 1.1
With
inReplyTo
as an object property, and a tool creating corresponding a "stub"EmailMessage
object each time anIn-Reply-To
header is encountered, the above query will provide no results. This will likely be unsatisfactory to a user.Competency Question 1.2
Suppose instead we use a datatype property.
Then the same question encoded in CQ1.1 can become:
Result 1.2
The query would now return:
kb:email-message-e73fabfd-1d58-4dad-b7a1-184419269ce0
It would then behoove the user to further review these discovered links, and declare any
ObservableRelationship
s to codify results.Solution suggestion
observable:inReplyTo
to anowl:DatatypeProperty
, rangexsd:string
.Coordination
develop
The text was updated successfully, but these errors were encountered: