Skip to content

Add time properties to PDF File Facet #421

Description

@ajnelson-nist

Background

UCO has the ability to represent certain timestamps based on sources like file systems or other metadata fields (e.g. from email). (See #420.) PDFs contain their own specialized timestamp fields, but UCO has no way of representing them yet.

The PDF specification provides for these time stamps:

  • CreationDate
  • ModDate

Requirements

Requirement 1

UCO must be able to represent the internally embedded creation time of a PDF file.

Requirement 2

UCO must be able to represent the internally embedded modification time of a PDF file.

Requirement 3

UCO must be able to represent the internally embedded access time of a PDF file.

Risk / Benefit analysis

Benefits

UCO would improve its timeline capabilities by representing these times.

Risks

There is a name pattern discrepancy between UCO's current observable:modifiedTime and observable:createdTime, versus the names in the specification. One name pattern must be selected, or the PDF specification should be deferred to.

Otherwise, this is an additive proposal.

Competencies demonstrated

Competency 1

Suppose a PDF is found to have both a creation and modification timestamp embedded.

Competency Question 1.1

Do the creation and modification time follow a sensible temporal ordering - modification occurs at or after creation time?

Ask for all PDF files in our knowledge base that have a creation time that comes definitively after the modification time.

SELECT ?nPdfFile
WHERE {
  ?nPdfFile
    a uco-observable:PDFFile ;
    uco-core:hasFacet ?nPdfFileFacet ;
    .

  ?nPdfFileFacet
    a uco-observable:PDFFileFacet ;
    drafting:pdfCreatedDate ?lCrDate ;
    drafting:pdfModDate ?lModDate ;
    .

  FILTER ( ?lCrDate > ?lModDate )
}

Result 1.1

Solution suggestion

To the observable:PDFFileFacet

  • Add property observable:pdfCreatedDate, cardinality 0..1, type xsd:dateTime.
  • Add property observable:pdfModDate, cardinality 0..1, type xsd:dateTime.

Coordination

  • Tracking in Jira ticket OC-256
  • Administrative review completed
  • Solutions Approval to be discussed in OC meeting, 2022-08-09
  • Solutions Approval vote occurred, passing, on 2022-08-09
  • Solutions development phase completed.
  • Implementation merged into develop
  • Milestone linked
  • Documentation logged in pending release page

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions