ExifTool Forum

ExifTool => Bug Reports / Feature Requests => Topic started by: Jeff_Leger on July 07, 2017, 06:03:03 AM

Title: xmp-dcterms
Post by: Jeff_Leger on July 07, 2017, 06:03:03 AM
Hello,

I don't find dcterms: metadata in XMP:
https://exiftool.org/TagNames/XMP.html

Nevertheless, some of them are incorporated in PRISM:
http://www.prismstandard.org/specifications/3.0/PRISM_Dublin_Core_Metadata_3.0.pdf
http://www.prismstandard.org/specifications/2.1/prism_dublin_core_namespaces_2.1.pdf
http://www.prismstandard.org/specifications/1.3/PRISM_dublin_core_1.3.pdf

Do you have reasons to not add these metadata among XMP ones?

Regards,

Jean-François Léger
Title: Re: xmp-dcterms
Post by: Phil Harvey on July 07, 2017, 08:17:42 AM
Thanks for this note.   I'll look into this and post back here if I have any comments.  This may take a couple of weeks since I am about to go on vacation.

- Phil

P.S.  I've moved this to the feature requests section of this forum.
Title: Re: xmp-dcterms
Post by: herb on March 23, 2018, 08:33:39 AM
Hello Phil,

sorry, that I hijack this topic. But I also have the question: Is XMP-dcterms missing in Exiftool?

Some days ago I started to work with DarwinCore tags.
In order to learn more about I opened http://rs.tdwg.org/dwc/terms/ (http://rs.tdwg.org/dwc/terms/) and
I came to know about SimpleDarwinCore which e.g. requests the tag XMP-dcterms:language.

I also found some slides about XMP-dwc on
https://docs.google.com/presentation/d/1Ia1eXmUM0a3u8IpLwqj-JUDmVC_NG78NP2uYTVDm3vE/edit#slide=id.g1cfad62490_0_293 (https://docs.google.com/presentation/d/1Ia1eXmUM0a3u8IpLwqj-JUDmVC_NG78NP2uYTVDm3vE/edit#slide=id.g1cfad62490_0_293)
which talk also about XMP-dcterms tags and also about AudubonCore tags (XMP-ac), which I found on
https://terms.tdwg.org/wiki/Audubon_Core_Term_List (https://terms.tdwg.org/wiki/Audubon_Core_Term_List)
And AudubonCore tags also point to dcterms tags.

XMP-ac seems to be XMP-dwc specific and should not be discussed here.
But what is about XMP-dcterms?

Best regards
Herb
Title: Re: xmp-dcterms
Post by: Phil Harvey on March 23, 2018, 08:53:27 AM
Hi Herb,

Thanks for bringing this up again.  It seems this topic got forgotten.

ExifTool does support DarwinCore tags (https://exiftool.org/TagNames/DarwinCore.html).

I'll look into the dcterms namespace.

- Phil
Title: Re: xmp-dcterms
Post by: Phil Harvey on March 25, 2018, 09:02:12 PM
OK.  The reason that ExifTool doesn't support dcterms is because there are no XMP dcterms tags.  From the PRISM documentation, all dcterms in XMP are qualifiers for other tags.  There are no actual tags as such.  So I don't know how these could be specified in ExifTool.

Also, it looks like the use of qualifiers in XMP isn't compatible backward compatible with existing XMP (they use a separate model for this in the PRISM specs).  So we have a couple significant problems, both of which would need to be addressed before implementation could be attempted.

If anyone has some XMP samples that use dcterms, please post them here and we can continue the discussion.  I may be mis-reading the PRISM spec, or maybe there is another spec I should be looking at.  The dublin core documentation itself doesn't deal with XMP.

- Phil
Title: Re: xmp-dcterms
Post by: herb on March 27, 2018, 07:20:12 AM
Hello Phil,

thanks for all your investigations.
I understand many of your arguments but it is not 100% clear to me. So please allow additional questions.
QuoteFrom the PRISM documentation, all dcterms in XMP are qualifiers for other tags.
PRISM documentation is for me PRISM_Dublin_Core_Metadata_3.0.pdf (and earlier versions) that Jeff_Leger has given in his first post to this topic.
I also looked into this papers:
Yes you are right: all "tags" dcterms:xxxx are a refinement of dc:relation

QuoteThe document states:
Note: Refined versions of dc:relation are: dcterms:isPartOf, dcterms:hasPart, dcterms:isRequiredBy, dcterms:Requires, dcterms:IsFormatOf, dcterms:hasFormat, dcterms:isVersionOf, dcterms:hasVersion, dcterms:source, prism:hasPreviousVersion,
prism:isTranslationOf, prism:hasTranslation, prism:hasAlternative, prism:isCorrectionOf.
Therefore I looked also into: http://www.prismstandard.org/specifications/3.0/PRISM_Basic_Metadata_3.0.htm
and found that e.g. prism:isTranslationOf is also a refinement of dc:relation.
But prism:isTranslationOf is available in Exiftool xmp-prism taggroup.

A "qualifier" for me is a tag that gives more details as the base tag. So why should ther be no xmp-dcterms group?

I hope I did not go to a wrong direction. If so, please point me to the right one.
Thanks in advance and
Best regards
Herb

By the way:
Exiftool tag xmp-prism:acedemicField should be academicField (change e to a).
Title: Re: xmp-dcterms
Post by: Phil Harvey on March 27, 2018, 08:39:10 AM
Hi Herb,

I'm not sure I understand this either, but for example:

Page 24 of PRISM_Dublin_Core_Metadata_3.0_FINAL.pdf shows this for dcterms:requires:
Profile 3 (XMP)
Qualifier Value                   bag Text, a refined version of dc:relation

while page 39 of PRISM_Basic_Metadata_3.0_FINAL.pdf shows this for prism:isTranslationOf:
Profile 3 (XMP)
Property Value                  Text, a refined version of dc:relation

One is listed as a qualifier, and the other as a property.

Although I haven't seen any examples of this.  Without examples, I can't know for sure what the intention was, so I can't implement it.  Implementing qualifiers will be difficult because one must maintain the relationship between the property and its qualifiers. (Maybe something similar to the way structures are implemented would work.)

Quote from: herb on March 27, 2018, 07:20:12 AM
By the way:
Exiftool tag xmp-prism:acedemicField should be academicField (change e to a).

Thanks, I'll fix that.

- Phil
Title: Re: xmp-dcterms
Post by: herb on March 27, 2018, 08:58:31 AM
Hello Phil,

thanks again for your quick reply and for your detailed explanations.

Now it is also clear to me.
Thanks again.

Best regards
Herb
Title: Re: xmp-dcterms
Post by: blue-j on November 12, 2021, 09:03:08 PM
I think this issue has been misdiagnosed.  I am unsure.  But it seems to me that the historical view was only in terms of Darwin Core / PRISM, when in fact dcterms also comes from Dublic Core Metadata Initiative and is a dedicated namespace there:

https://www.dublincore.org/specifications/dublin-core/dcmi-terms/ (https://www.dublincore.org/specifications/dublin-core/dcmi-terms/)

Am I wildly off here?  I don't think Exiftool supports more than the basic Dublin Core fields...?

- J
Title: Re: xmp-dcterms
Post by: Phil Harvey on November 13, 2021, 08:18:11 AM
As I said, I don't think that any dcterms elements are XMP properties unto themselves.  They are all just qualifiers of other properties.  ExifTool doesn't yet support XMP qualifiers.

- Phil
Title: Re: xmp-dcterms
Post by: blue-j on November 15, 2022, 02:45:01 PM
C2PA / Adobe is now writing at least one... xmp:xmp-dcterms:provenance

See attached example.

- J

PH Edit: deleted attachment on request
Title: Re: xmp-dcterms
Post by: Phil Harvey on November 15, 2022, 04:07:07 PM
Those guys at C2PA really know how to make life hard for me. :P

- Phil
Title: Re: xmp-dcterms
Post by: blue-j on November 15, 2022, 11:48:53 PM
Have you looked at the C2PA spec?  It is the most epic spec I have ever seen, and brother I have seen a lot! It's a doozy.

- J
Title: Re: xmp-dcterms
Post by: Phil Harvey on November 16, 2022, 08:27:52 AM
Yes.  ExifTool supports C2PA.

- Phil
Title: Re: xmp-dcterms
Post by: blue-j on November 18, 2022, 01:08:16 PM
In what sense?  I don't see anything in STDOUT. We're using c2patool presently to grab manifest details. Sorry if I am missing something. - J

[EDIT] I've deleted the file for privacy reasons
Title: Re: xmp-dcterms
Post by: Phil Harvey on November 18, 2022, 01:22:52 PM
C2PA stores metadata in JUMBF format in JP2 files and APP11 of JPG files (including support for both JSON and CBOR-encoded information).  ExifTool should extract this.  (See attached sample image.)

If there is something that you think ExifTool should be extracting, post a sample and I'll take a look.

- Phil

Edit: Attachment deleted
Title: Re: xmp-dcterms
Post by: blue-j on November 18, 2022, 01:35:18 PM
Ok I just modified my prior message by uploading a simple sample file. I hadn't noticed your reply!  We'll check yours, too!

-J
Title: Re: xmp-dcterms
Post by: Phil Harvey on November 18, 2022, 01:39:06 PM
Ah, interesting.  When C2PA support was added to ExifTool I don't think the specification included PNG support, but that was before the spec was finalized.  Looks like I should add PNG support.

It also seems that PDF, FLAC and MP3 are possible.  If you have samples of these please post them.

- Phil
Title: Re: xmp-dcterms
Post by: Phil Harvey on November 18, 2022, 01:46:10 PM
The C2PA metadata from your PNG image may be extracted using this config file:

%Image::ExifTool::UserDefined = (
    'Image::ExifTool::PNG::Main' => {
        caBX => {
            Name => 'JUMBF',
            SubDirectory => { TagTable => 'Image::ExifTool::Jpeg2000::Main' },
        },
    },
);
1; #end

(although you will get some warnings that I'll take care of when I release this officially.)

- Phil

Title: Re: xmp-dcterms
Post by: blue-j on November 18, 2022, 02:13:50 PM
Attached is JSON output from c2patool, if it proves helpful at all.  I've also attached the Adobe dictionary. I'm also including another sample that is storing credentials in Adobe's cloud.

[EDIT}  i've deleted the files for privacy reasons and will email

- J
Title: Re: xmp-dcterms
Post by: blue-j on November 18, 2022, 02:24:24 PM
sorry, the dictionary is at https://cai-assertions.adobe.com/photoshop/dictionary.json (https://cai-assertions.adobe.com/photoshop/dictionary.json)
Title: Re: xmp-dcterms
Post by: blue-j on November 18, 2022, 02:45:17 PM
I've tried your config and it works great!  I have not compared the data meticulously yet.

Note - c2patool does not parse your c2pa.jpg at all.  Spot checking, I think your JPEG is not conformant to the current C2PA 1.2 spec (https://c2pa.org/specifications/specifications/1.2/index.html). 

- J
Title: Re: xmp-dcterms
Post by: blue-j on November 18, 2022, 02:55:10 PM
https://github.com/contentauth/c2patool
Title: Re: xmp-dcterms
Post by: Phil Harvey on November 18, 2022, 03:09:50 PM
You're right, the sample I posted may be old.  I added this feature while the specification was still under development, and ExifTool reads the old (historic) versions as well.  (I'll delete this file to avoid distributing outdated samples.)

Note that you should use "exiftool -j -b -G3 -u FILE" to extract all of the C2PA information in a reasonable JSON format.

- Phil
Title: Re: xmp-dcterms
Post by: blue-j on November 18, 2022, 03:19:24 PM
Quote from: Phil Harvey on November 15, 2022, 04:07:07 PMThose guys at C2PA really know how to make life hard for me. :P

maybe this is helpful - https://c2pa.org/specifications/specifications/1.2/specs/C2PA_Specification.html#_embedding_a_reference_to_the_active_manifest (https://c2pa.org/specifications/specifications/1.2/specs/C2PA_Specification.html#_embedding_a_reference_to_the_active_manifest)
Title: Re: xmp-dcterms
Post by: blue-j on November 18, 2022, 03:28:09 PM
Quote from: Phil Harvey on November 18, 2022, 01:39:06 PMIt also seems that PDF, FLAC and MP3 are possible.  If you have samples of these please post them.

I have the bleeding edge versions of Acrobat and Illustrator, and there is no support for C2PA in either for PDF. Photoshop only permits PNG and JPG to have C2PA metadata in them.  I don't really deal with audio files, but suspect it is not yet present there either.  The wikipedia page only lists Photoshop and Adobe Stock as using this presently.

I know you can also have the C2PA as a sidecar. I'll now try to make one for us for a PDF, and we can have a look.

- J
Title: Re: xmp-dcterms
Post by: Phil Harvey on November 18, 2022, 03:47:31 PM
I'll bet the sidecar uses Jpeg2000-like (ISO BMFF) formatting.  ExifTool should read this.

- Phil
Title: Re: xmp-dcterms
Post by: blue-j on November 18, 2022, 04:38:56 PM
So sorry to report that I have not achieved joy in producing a sidecar.  Superfically it looks like the c2patool is expecting a different structure than Adobe is producing, but user error cannot be ruled out yet.  Will keep you informed!

I do know the Media Type is application/x-c2pa-manifest-store (https://c2pa.org/specifications/specifications/1.2/specs/C2PA_Specification.html#_external_manifests)

- J
Title: Re: xmp-dcterms
Post by: blue-j on November 26, 2022, 06:28:10 PM
Exiftool did extract xmp:xmp-dcterms:provenance so it seems it is not completely missing the data.

Would a workaround at present be to extract the data from that family and then marry the qualifiers to the fields in post processing?  Is that workable?

I suppose I need to ask about writing as well.

- J
Title: Re: xmp-dcterms
Post by: blue-j on November 29, 2022, 01:19:16 PM
Are there any sample files using DC Terms anywhere in the known universe???  - J
Title: Re: xmp-dcterms
Post by: Phil Harvey on November 30, 2022, 08:48:57 AM
Other than the C2PA samples, I have only ever seen dcterms properties used in XML (never XMP).

- Phil