I would second ahoward's advice. I've looked at Apple photos in its various incarnations off and on for a while now, and this is the most useful workflow I've managed to discover also. In fact, it might be a good FAQ or pinned post.
For those who are interested, I've included a little more info after the quote. It got kind of long, so if you don't have the time, stop reading now.
Just wanted to add a bit more here because I have tried all of the things mentioned above, and while they do get your images, there are some caveats to them, especially if you are using the iCloud Photo Library.
The structure of this library often contains multiple versions of the same image, and it is also possible that the source image is not contained in the Photos Library at all and is instead referencing some other location on the disk (not to mention that if you have the iCloud Photo Library enabled, the actual source file may not be stored locally on your computer at all.)
The best way to do this that I have found is to use the Export option in Apple Photos to collect the images into one parent folder for Photo Mechanic Plus to scan (or if not using Photo Mechanic Plus, a bunch of folders collected under one parent that you can view the contents of with Photo Mechanic 6.0 If you are using the iCloud Photo Library, this will also take care of downloading the source files from iCloud to save them locally to the Export destination (which, if there is a lot of files that are not local and only in iCloud, could take a long time).
To do this, select your images in the Photos application; click on the 'File' menu; and then choose Export.
You can choose choose 'Export X photos' and you will have the option to export images with edits made in the Photos app as a JPEG, TIFF, or PNG.
-or-
You can choose 'Export unmodified originals' and this will export the files in their original format without your edits applied.
We would also recommend checking the box for "Export IPTC as XMP".
For the 'Subfolder format' option, you may want to choose 'Moment Name', otherwise all exported files will go in the one folder that you choose when you click Export.
Once Photos has finished exporting, you can then open those folders that you Exported as a Contact Sheet or Scan them to into your catalog using "Scan to Catalog" are discussed here: https://docs.camerabits.com/support/solutions/articles/48001157493-scan-to-catalog"
Apple has certainly improved it's Photos app in the more recent versions of MacOS. It uses SQLite as it's database back end to manage pretty much everything, from referencing where the original photos are located on your disks, as well as much of the synchronization of data between your local photos library and your iCloud photos storage if you use it.
PM+ also uses SQLite as its backend, as does Lightroom. I'm not sure about other DAM solutions.
SQLite is a self-contained relational database system that can be included in and distributed with applications on many different kinds of systems. Apple seems to use it "everywhere" now. I've come across SQLite databases in many system folders and it's certainly used in many apps on iOS devices. It's incredibly functional, fast if you design your architecture correctly, and seems to be pretty lightweight for what it can do.
How do I know this? By browsing the Apple Photos Library DB files in various locations (and the PM+ files and any others I come across that I'm interested in) with a SQLite database browser, and already having a pretty decent knowledge of database design and architecture myself. Though I wouldn't recommend doing this unless you "know what you're doing" as you could easily end up corrupting the database if you're not careful. Especially if you do it – live– while the application is actively using the database.
Apple Photos stores all of its originals (that have been copied into the "System" photos library) in the "originals" folder in subfolders named 0 through F. The original photo file names themselves are in the form of a GUID (Globally Unique Identifier), which is a long string of letters and numbers that seems meaningless, but really isn't. If you peek at this structure, you notice that each subfolder contains all the filenames beginning with it's character (0-F) (yes, that's hexadecimal if you're interested).
Apple Photos maintains a list of all the GUID original filenames in a database table in the photo library database and cross-references that with the filename you'd be familiar with. I have a feeling (though I have not verified this) that it's the Photos App on your Mac and also the Photos App on your other iDevices that generates the GUID when the photo is saved to your photos library -- regardless of the photo source. And it appears to me that Apple uses this GUID filename to ensure that photo synchronization does not become jumbled across the cloud, iDevices, and shared albums.
However, when you use the Export or Export Unmodified Original functions, Photos provides the expected IMGxxxxx.jpg (or whatever your filename was) filename for the file that gets exported.
In addition, Photos also maintains derivative and other "versions" of image files located in other folders in the photos library. They may have the same GUID filename, but be a different resolution, or perhaps have a different "rendering" recipe. I'm not sure, as I haven't really explored that part, yet.
What I do know, is that if you simply use PM+ to "scan to catalog" or ingest the contents of your Apple Photos Library, you probably won't get what you hope for. I've tried various of doing just that.
However, if you use the Export methods, you will. And you'll also get all the metadata as well if you chose the "Export IPTC as XMP" option.
I also know that programmatically interacting with the Photos Library used to be a royal pain, as the photos browser functionality provided in earlier incarnations was very limited and very slow.
Now, however, it seems to have gotten much better, with much more updated and functional APIs to browse and more fully interact with the photos library. A good example program that I've used is one called PhotoSweeper (used for finding duplicate images pretty much anywhere you look). From what I can tell, it uses much newer APIs to interact with the Photos library, and it's amazingly very much faster than the previous experience used to be.
I'd love to see PM+ do something similar, but I don't know how much of the user base would actually be interested in Apple Photos' integration -- even just much easier importing. Though it does seem to make importing photos from an iPhone much easier if you import on a computer that can access your iCloud photos.