Skip to content
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

RDF export for physical items #114

Open
Msch0150 opened this issue Feb 2, 2022 · 3 comments
Open

RDF export for physical items #114

Msch0150 opened this issue Feb 2, 2022 · 3 comments

Comments

@Msch0150
Copy link
Contributor

Msch0150 commented Feb 2, 2022

I have a collection with "physical" find coins which do not have a type series. But they have for example a given authority, fromDate and toDate.
The complete collection is exported as RDF and uploaded to a SPARQL server.
But it looks like that the above information is not exported in into the RDF file. So as query using:

http://nomisma.org/ontology#hasAuthority
http://nomisma.org/ontology#hasEndDate
http://nomisma.org/ontology#hasStartDate

doesn't show any results.
Is there any reason for not exporting the information? Or is there any setting for it?

@Msch0150
Copy link
Contributor Author

Msch0150 commented Feb 4, 2022

I realized that the "Nomisa RDF Dump" in APIs exports items with "hasTypeSeriesItem" only. Is this a wanted behaviour? In which file is that defined?

@Msch0150
Copy link
Contributor Author

Msch0150 commented Feb 6, 2022

Regarding the export as RDF for a single coin I have found a way to adjust it:

ui/xslt/serializations/object/rdf-templates.xsl:

I add:

<xsl:apply-templates select="nuds:descMeta/nuds:typeDesc" mode="nomisma">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>

and remove the obverse/revers lines:

<xsl:if test="descendant::mets:fileGrp[@use = 'obverse']">
<nmo:hasObverse rdf:resource="{if (string($uri_space)) then concat($uri_space, $id) else concat($url, 'id/', $id)}#obverse"/>
</xsl:if>
<xsl:if test="descendant::mets:fileGrp[@use = 'reverse']">
<nmo:hasReverse rdf:resource="{if (string($uri_space)) then concat($uri_space, $id) else concat($url, 'id/', $id)}#reverse"/>
</xsl:if>

Regarding the export as a whole for coins including these without "hasTypeSeriesItem" doesn't seem to be that easy.
It looks like that this works by another procedure and that the required variables are not passed to the template. As long as there is no option to change the behaviour I will use a script which exports the RDF one by one and imports it into Fuseki one by one.

@ewg118
Copy link
Owner

ewg118 commented Sep 20, 2022

This is a desired feature in Numishare because the Nomisma RDF exports of collections of physical coins were designed specifically for ingestion into Nomisma and should meet data quality thresholds of having at least one nmo:hasTypeSeriesItem or having a dcterms:isPartOf to link to a hoard URI.

This is controlled by https://github.com/ewg118/numishare/blob/master/xpl/models/solr/rdf_count_docs.xpl#L32 Solr query which creates a list of 10,000 coin RDF chunks and https://github.com/ewg118/numishare/blob/master/xpl/controllers/nomisma.xpl#L153 which is the Solr query used to generate the response that is serialized into RDF. There is a field restriction that excludes denomination, mint, material, and a variety of other fields you'd need to generate a full export of all of the properties associated with a coin. It would be a relatively complicated process to update this.

The ideal would probably to create a Numishare config option for full or type/hoard only exports, and replace the paginated Solr->RDF serialization for specimens to the XQuery NUDS->RDF serialization that is used for coin types. It might take a few days to rewrite the pipelines and serializations for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants