From 8186bb73fda41e197f06b5db4941d8ecdccbc617 Mon Sep 17 00:00:00 2001 From: Lincoln Puzey Date: Fri, 20 Dec 2024 09:22:09 +0800 Subject: [PATCH] BDRSPS-1133 Update IRI patterns for Agents Use either org/{name} or person/{name} depending on which sort of agent it is. --- .../margaret_river_flora.ttl | 108 +++++++++--------- .../incidental_occurrence_data_v3/mapping.py | 14 +-- .../survey_metadata_v2/examples/minimal.ttl | 8 +- .../templates/survey_metadata_v2/mapping.py | 2 +- .../survey_metadata_v3/examples/minimal.ttl | 8 +- .../templates/survey_metadata_v3/mapping.py | 2 +- .../margaret_river_flora.ttl | 108 +++++++++--------- .../examples/organism_qty.ttl | 4 +- .../survey_occurrence_data_v2/mapping.py | 14 +-- .../margaret_river_flora.ttl | 108 +++++++++--------- .../examples/organism_qty.ttl | 4 +- .../survey_occurrence_data_v3/mapping.py | 14 +-- .../survey_site_data_v2/examples/minimal.ttl | 4 +- .../templates/survey_site_data_v2/mapping.py | 2 +- .../survey_site_data_v3/examples/minimal.ttl | 4 +- .../templates/survey_site_data_v3/mapping.py | 2 +- .../examples/minimal.ttl | 28 ++--- .../survey_site_visit_data_v2/mapping.py | 6 +- .../examples/minimal.ttl | 28 ++--- .../survey_site_visit_data_v3/mapping.py | 6 +- abis_mapping/utils/iri_patterns.py | 10 +- abis_mapping/utils/namespaces.py | 2 +- 22 files changed, 244 insertions(+), 242 deletions(-) diff --git a/abis_mapping/templates/incidental_occurrence_data_v3/examples/margaret_river_flora/margaret_river_flora.ttl b/abis_mapping/templates/incidental_occurrence_data_v3/examples/margaret_river_flora/margaret_river_flora.ttl index 619590de..5feb3a72 100644 --- a/abis_mapping/templates/incidental_occurrence_data_v3/examples/margaret_river_flora/margaret_river_flora.ttl +++ b/abis_mapping/templates/incidental_occurrence_data_v3/examples/margaret_river_flora/margaret_river_flora.ttl @@ -354,7 +354,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Calothamnus lateralis var. crassus" ; @@ -367,7 +367,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -392,7 +392,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -405,7 +405,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -418,7 +418,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -431,7 +431,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -444,7 +444,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -457,7 +457,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -470,7 +470,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -483,7 +483,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -496,7 +496,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -586,7 +586,7 @@ rdfs:comment "verbatimID-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -598,7 +598,7 @@ rdfs:comment "verbatimID-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -611,7 +611,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Calothamnus lateralis var. crassus" ; @@ -624,7 +624,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -637,7 +637,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -650,7 +650,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -663,7 +663,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -676,7 +676,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -689,7 +689,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -702,7 +702,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -715,7 +715,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -728,7 +728,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -741,7 +741,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -754,7 +754,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -765,12 +765,12 @@ a rdfs:Datatype ; skos:definition "A catalog number for the sample" ; skos:prefLabel "BHP catalogNumber" ; - prov:wasAttributedTo . + prov:wasAttributedTo . a rdfs:Datatype ; skos:definition "A catalog number for the sample" ; skos:prefLabel "WAM catalogNumber" ; - prov:wasAttributedTo . + prov:wasAttributedTo . a rdfs:Datatype ; skos:definition "An identifier for the record" ; @@ -785,7 +785,7 @@ a rdfs:Datatype ; skos:definition "The record number of the original observation from the original observer of the organism" ; skos:prefLabel "Stream Environment and Water Pty Ltd recordNumber" ; - prov:wasAttributedTo . + prov:wasAttributedTo . a tern:Attribute ; schema:isPartOf ; @@ -908,11 +908,11 @@ tern:hasValue . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a skos:Concept ; @@ -1083,7 +1083,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template dateIdentified used as proxy" ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "VU" ; @@ -1315,13 +1315,13 @@ rdfs:label "species" ; rdf:value . - a prov:Agent ; + a prov:Agent ; schema:name "BHP" . - a prov:Agent ; + a prov:Agent ; schema:name "Test Pty Ltd" . - a prov:Agent ; + a prov:Agent ; schema:name "WA-BIO" . a skos:Concept ; @@ -1343,7 +1343,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1356,7 +1356,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1441,14 +1441,14 @@ sosa:usedProcedure ; schema:isPartOf . - a prov:Agent ; + a prov:Agent ; schema:name "WAM" . a tern:Observation ; rdfs:comment "scientificName-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1460,7 +1460,7 @@ rdfs:comment "scientificName-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1492,7 +1492,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd2200000000 ; @@ -1504,7 +1504,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd220000001b ; @@ -1516,7 +1516,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd220000001e ; @@ -1540,7 +1540,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd2200000006 ; @@ -1552,7 +1552,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd2200000009 ; @@ -1564,7 +1564,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd220000000c ; @@ -1576,7 +1576,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd220000000f ; @@ -1588,7 +1588,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd2200000012 ; @@ -1600,7 +1600,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd2200000015 ; @@ -1612,7 +1612,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd2200000018 ; @@ -1643,7 +1643,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "CC123"^^ ; dwc:collectionCode "C01" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd2200000024 ; @@ -1657,7 +1657,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "CC456"^^ ; dwc:collectionCode "C01" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N489292b7f1191795326ddd2200000027 ; @@ -1695,7 +1695,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "ARACH"^^ ; dwc:collectionCode "32237" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:identifier "BHP2012-7521"^^, "M12378"^^, @@ -1713,7 +1713,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "ARACH"^^ ; dwc:collectionCode "32238" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:identifier "BHP2012-7522"^^, "M12379"^^, @@ -1727,7 +1727,7 @@ tern:featureType ; tern:locationDescription "Cowaramup Bay Road" . - a prov:Agent ; + a prov:Agent ; schema:name "Stream Environment and Water Pty Ltd" . a tern:Dataset . diff --git a/abis_mapping/templates/incidental_occurrence_data_v3/mapping.py b/abis_mapping/templates/incidental_occurrence_data_v3/mapping.py index 03b90508..c842114b 100644 --- a/abis_mapping/templates/incidental_occurrence_data_v3/mapping.py +++ b/abis_mapping/templates/incidental_occurrence_data_v3/mapping.py @@ -164,15 +164,15 @@ def apply_mapping_row( provider_record_id_source: str = row["providerRecordIDSource"] # Create URIs - provider_identified = utils.iri_patterns.agent_iri(row["identifiedBy"]) + provider_identified = utils.iri_patterns.agent_iri("org", row["identifiedBy"]) sample_specimen = utils.iri_patterns.sample_iri(base_iri, "specimen", provider_record_id) sampling_specimen = utils.iri_patterns.sampling_iri(base_iri, "specimen", provider_record_id) sample_sequence = utils.iri_patterns.sample_iri(base_iri, "sequence", provider_record_id) sampling_sequencing = utils.iri_patterns.sampling_iri(base_iri, "sequencing", provider_record_id) - provider_determined_by = utils.iri_patterns.agent_iri(row["threatStatusDeterminedBy"]) + provider_determined_by = utils.iri_patterns.agent_iri("org", row["threatStatusDeterminedBy"]) provider_record_id_datatype = utils.iri_patterns.datatype_iri("recordID", provider_record_id_source) - provider_record_id_agent = utils.iri_patterns.agent_iri(provider_record_id_source) + provider_record_id_agent = utils.iri_patterns.agent_iri("org", provider_record_id_source) provider_record_id_attribution = utils.iri_patterns.attribution_iri( base_iri, "resourceProvider", provider_record_id_source ) @@ -250,7 +250,7 @@ def apply_mapping_row( # Conditionally create uris dependent on ownerRecordIDSource field if owner_record_id_source := row["ownerRecordIDSource"]: owner_record_id_datatype = utils.iri_patterns.datatype_iri("recordID", owner_record_id_source) - owner_record_id_provider = utils.iri_patterns.agent_iri(owner_record_id_source) + owner_record_id_provider = utils.iri_patterns.agent_iri("org", owner_record_id_source) owner_record_id_attribution = utils.iri_patterns.attribution_iri(base_iri, "owner", owner_record_id_source) else: owner_record_id_datatype = None @@ -288,7 +288,7 @@ def apply_mapping_row( # Conditionally create uri's dependent on recordedBy field. if recorded_by := row["recordedBy"]: record_number_datatype = utils.iri_patterns.datatype_iri("recordNumber", recorded_by) - provider_recorded_by = utils.iri_patterns.agent_iri(recorded_by) + provider_recorded_by = utils.iri_patterns.agent_iri("org", recorded_by) else: record_number_datatype = None provider_recorded_by = None @@ -306,7 +306,7 @@ def apply_mapping_row( # Conditionally create uris dependent on catalogNumberSource field. if catalog_number_source := row["catalogNumberSource"]: catalog_number_datatype = utils.iri_patterns.datatype_iri("catalogNumber", catalog_number_source) - catalog_number_provider = utils.iri_patterns.agent_iri(catalog_number_source) + catalog_number_provider = utils.iri_patterns.agent_iri("org", catalog_number_source) else: catalog_number_datatype = None catalog_number_provider = None @@ -316,7 +316,7 @@ def apply_mapping_row( other_catalog_numbers_datatype = utils.iri_patterns.datatype_iri( "catalogNumber", other_catalog_numbers_source ) - other_catalog_numbers_provider = utils.iri_patterns.agent_iri(other_catalog_numbers_source) + other_catalog_numbers_provider = utils.iri_patterns.agent_iri("org", other_catalog_numbers_source) else: other_catalog_numbers_datatype = None other_catalog_numbers_provider = None diff --git a/abis_mapping/templates/survey_metadata_v2/examples/minimal.ttl b/abis_mapping/templates/survey_metadata_v2/examples/minimal.ttl index 4f8c4b85..7872db43 100644 --- a/abis_mapping/templates/survey_metadata_v2/examples/minimal.ttl +++ b/abis_mapping/templates/survey_metadata_v2/examples/minimal.ttl @@ -43,13 +43,13 @@ a rdfs:Datatype ; skos:prefLabel "surveyID source" ; prov:qualifiedAttribution [ a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole ] . a rdfs:Datatype ; skos:prefLabel "surveyID source" ; prov:qualifiedAttribution [ a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole ] . a tern:Attribute ; @@ -110,10 +110,10 @@ rdfs:label "Insecta" ; rdf:value . - a prov:Agent ; + a prov:Agent ; schema:name "CSIRO" . - a prov:Agent ; + a prov:Agent ; schema:name "NSW Department of Planning, Industry and Environment" . a tern:Survey ; diff --git a/abis_mapping/templates/survey_metadata_v2/mapping.py b/abis_mapping/templates/survey_metadata_v2/mapping.py index 7dcf2ae6..cc14d38c 100644 --- a/abis_mapping/templates/survey_metadata_v2/mapping.py +++ b/abis_mapping/templates/survey_metadata_v2/mapping.py @@ -189,7 +189,7 @@ def apply_mapping_row( SurveyIDDatatype( name=raw_org, datatype=utils.iri_patterns.datatype_iri("surveyID", raw_org), - agent=utils.iri_patterns.agent_iri(raw_org), + agent=utils.iri_patterns.agent_iri("org", raw_org), ) ) diff --git a/abis_mapping/templates/survey_metadata_v3/examples/minimal.ttl b/abis_mapping/templates/survey_metadata_v3/examples/minimal.ttl index 50595256..ff5ab01d 100644 --- a/abis_mapping/templates/survey_metadata_v3/examples/minimal.ttl +++ b/abis_mapping/templates/survey_metadata_v3/examples/minimal.ttl @@ -83,11 +83,11 @@ tern:hasValue . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a skos:Concept ; @@ -124,10 +124,10 @@ rdfs:label "Insecta" ; rdf:value . - a prov:Agent ; + a prov:Agent ; schema:name "CSIRO" . - a prov:Agent ; + a prov:Agent ; schema:name "NSW Department of Planning, Industry and Environment" . a tern:Survey ; diff --git a/abis_mapping/templates/survey_metadata_v3/mapping.py b/abis_mapping/templates/survey_metadata_v3/mapping.py index fb34902a..4f1ba0e0 100644 --- a/abis_mapping/templates/survey_metadata_v3/mapping.py +++ b/abis_mapping/templates/survey_metadata_v3/mapping.py @@ -224,7 +224,7 @@ def apply_mapping_row( name=raw_org, datatype=utils.iri_patterns.datatype_iri("surveyID", raw_org), attribution=utils.iri_patterns.attribution_iri(base_iri, "principalInvestigator", raw_org), - agent=utils.iri_patterns.agent_iri(raw_org), + agent=utils.iri_patterns.agent_iri("org", raw_org), ) ) diff --git a/abis_mapping/templates/survey_occurrence_data_v2/examples/margaret_river_flora/margaret_river_flora.ttl b/abis_mapping/templates/survey_occurrence_data_v2/examples/margaret_river_flora/margaret_river_flora.ttl index d86f91c6..c451d065 100644 --- a/abis_mapping/templates/survey_occurrence_data_v2/examples/margaret_river_flora/margaret_river_flora.ttl +++ b/abis_mapping/templates/survey_occurrence_data_v2/examples/margaret_river_flora/margaret_river_flora.ttl @@ -337,7 +337,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Calothamnus lateralis var. crassus" ; @@ -350,7 +350,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -375,7 +375,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -388,7 +388,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -401,7 +401,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -414,7 +414,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -427,7 +427,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -440,7 +440,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -453,7 +453,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -466,7 +466,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -479,7 +479,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -569,7 +569,7 @@ rdfs:comment "verbatimID-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -581,7 +581,7 @@ rdfs:comment "verbatimID-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -594,7 +594,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Calothamnus lateralis var. crassus" ; @@ -607,7 +607,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -620,7 +620,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -633,7 +633,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -646,7 +646,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -659,7 +659,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -672,7 +672,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -685,7 +685,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -698,7 +698,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -711,7 +711,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -724,7 +724,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -737,7 +737,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -748,12 +748,12 @@ a rdfs:Datatype ; skos:definition "A catalog number for the sample" ; skos:prefLabel "BHP catalogNumber" ; - prov:wasAttributedTo . + prov:wasAttributedTo . a rdfs:Datatype ; skos:definition "A catalog number for the sample" ; skos:prefLabel "WAM catalogNumber" ; - prov:wasAttributedTo . + prov:wasAttributedTo . a rdfs:Datatype ; skos:definition "An identifier for the record" ; @@ -768,7 +768,7 @@ a rdfs:Datatype ; skos:definition "The record number of the original observation from the original observer of the organism" ; skos:prefLabel "Stream Environment and Water Pty Ltd recordNumber" ; - prov:wasAttributedTo . + prov:wasAttributedTo . a tern:SiteVisit ; schema:isPartOf . @@ -894,11 +894,11 @@ tern:hasValue . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a skos:Concept ; @@ -1074,7 +1074,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template dateIdentified used as proxy" ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "VU" ; @@ -1300,13 +1300,13 @@ rdfs:label "species" ; rdf:value . - a prov:Agent ; + a prov:Agent ; schema:name "BHP" . - a prov:Agent ; + a prov:Agent ; schema:name "Test Pty Ltd" . - a prov:Agent ; + a prov:Agent ; schema:name "WA-BIO" . a tern:FeatureOfInterest, @@ -1336,7 +1336,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1349,7 +1349,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1434,14 +1434,14 @@ sosa:usedProcedure ; schema:isPartOf . - a prov:Agent ; + a prov:Agent ; schema:name "WAM" . a tern:Observation ; rdfs:comment "scientificName-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1453,7 +1453,7 @@ rdfs:comment "scientificName-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1486,7 +1486,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1499,7 +1499,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1512,7 +1512,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1538,7 +1538,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1551,7 +1551,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1564,7 +1564,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1577,7 +1577,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1590,7 +1590,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1603,7 +1603,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1616,7 +1616,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1648,7 +1648,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "CC123"^^ ; dwc:collectionCode "C01" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1663,7 +1663,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "CC456"^^ ; dwc:collectionCode "C01" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf , ; @@ -1702,7 +1702,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "ARACH"^^ ; dwc:collectionCode "32237" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:isSampleOf ; sosa:usedProcedure ; schema:identifier "BHP2012-7521"^^, @@ -1723,7 +1723,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "ARACH"^^ ; dwc:collectionCode "32238" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:isSampleOf ; sosa:usedProcedure ; schema:identifier "BHP2012-7522"^^, @@ -1742,7 +1742,7 @@ a tern:Survey ; schema:isPartOf . - a prov:Agent ; + a prov:Agent ; schema:name "Stream Environment and Water Pty Ltd" . a tern:Dataset . diff --git a/abis_mapping/templates/survey_occurrence_data_v2/examples/organism_qty.ttl b/abis_mapping/templates/survey_occurrence_data_v2/examples/organism_qty.ttl index 45a0ebd9..33c43d20 100644 --- a/abis_mapping/templates/survey_occurrence_data_v2/examples/organism_qty.ttl +++ b/abis_mapping/templates/survey_occurrence_data_v2/examples/organism_qty.ttl @@ -55,7 +55,7 @@ schema:isPartOf . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a tern:Float, @@ -72,7 +72,7 @@ schema:isPartOf ; tern:featureType . - a prov:Agent ; + a prov:Agent ; schema:name "Gaia Resources" . a dwc:Occurrence, diff --git a/abis_mapping/templates/survey_occurrence_data_v2/mapping.py b/abis_mapping/templates/survey_occurrence_data_v2/mapping.py index b8e63566..8c7f18d6 100644 --- a/abis_mapping/templates/survey_occurrence_data_v2/mapping.py +++ b/abis_mapping/templates/survey_occurrence_data_v2/mapping.py @@ -289,15 +289,15 @@ def apply_mapping_row( provider_record_id_source: str = row["providerRecordIDSource"] # Create URIs - provider_identified = utils.iri_patterns.agent_iri(row["identifiedBy"]) + provider_identified = utils.iri_patterns.agent_iri("org", row["identifiedBy"]) sample_specimen = utils.iri_patterns.sample_iri(base_iri, "specimen", provider_record_id) sampling_specimen = utils.iri_patterns.sampling_iri(base_iri, "specimen", provider_record_id) sample_sequence = utils.iri_patterns.sample_iri(base_iri, "sequence", provider_record_id) sampling_sequencing = utils.iri_patterns.sampling_iri(base_iri, "sequencing", provider_record_id) - provider_determined_by = utils.iri_patterns.agent_iri(row["threatStatusDeterminedBy"]) + provider_determined_by = utils.iri_patterns.agent_iri("org", row["threatStatusDeterminedBy"]) provider_record_id_datatype = utils.iri_patterns.datatype_iri("recordID", provider_record_id_source) - provider_record_id_agent = utils.iri_patterns.agent_iri(provider_record_id_source) + provider_record_id_agent = utils.iri_patterns.agent_iri("org", provider_record_id_source) provider_record_id_attribution = utils.iri_patterns.attribution_iri( base_iri, "resourceProvider", provider_record_id_source ) @@ -403,7 +403,7 @@ def apply_mapping_row( # Conditionally create uris dependent on recordedBy field. if recorded_by := row["recordedBy"]: record_number_datatype = utils.iri_patterns.datatype_iri("recordNumber", recorded_by) - provider_recorded_by = utils.iri_patterns.agent_iri(recorded_by) + provider_recorded_by = utils.iri_patterns.agent_iri("org", recorded_by) else: record_number_datatype = None provider_recorded_by = None @@ -421,7 +421,7 @@ def apply_mapping_row( # Conditionally create uris dependent on ownerRecordIDSource field if owner_record_id_source := row["ownerRecordIDSource"]: owner_record_id_datatype = utils.iri_patterns.datatype_iri("recordID", owner_record_id_source) - owner_record_id_provider = utils.iri_patterns.agent_iri(owner_record_id_source) + owner_record_id_provider = utils.iri_patterns.agent_iri("org", owner_record_id_source) owner_record_id_attribution = utils.iri_patterns.attribution_iri(base_iri, "owner", owner_record_id_source) else: owner_record_id_datatype = None @@ -431,7 +431,7 @@ def apply_mapping_row( # Conditionally create uris dependent on catalogNumberSource field. if catalog_number_source := row["catalogNumberSource"]: catalog_number_datatype = utils.iri_patterns.datatype_iri("catalogNumber", catalog_number_source) - catalog_number_provider = utils.iri_patterns.agent_iri(catalog_number_source) + catalog_number_provider = utils.iri_patterns.agent_iri("org", catalog_number_source) else: catalog_number_datatype = None catalog_number_provider = None @@ -441,7 +441,7 @@ def apply_mapping_row( other_catalog_numbers_datatype = utils.iri_patterns.datatype_iri( "catalogNumber", other_catalog_numbers_source ) - other_catalog_numbers_provider = utils.iri_patterns.agent_iri(other_catalog_numbers_source) + other_catalog_numbers_provider = utils.iri_patterns.agent_iri("org", other_catalog_numbers_source) else: other_catalog_numbers_datatype = None other_catalog_numbers_provider = None diff --git a/abis_mapping/templates/survey_occurrence_data_v3/examples/margaret_river_flora/margaret_river_flora.ttl b/abis_mapping/templates/survey_occurrence_data_v3/examples/margaret_river_flora/margaret_river_flora.ttl index 301a611b..6169f338 100644 --- a/abis_mapping/templates/survey_occurrence_data_v3/examples/margaret_river_flora/margaret_river_flora.ttl +++ b/abis_mapping/templates/survey_occurrence_data_v3/examples/margaret_river_flora/margaret_river_flora.ttl @@ -337,7 +337,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Calothamnus lateralis var. crassus" ; @@ -350,7 +350,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -375,7 +375,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -388,7 +388,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -401,7 +401,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -414,7 +414,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -427,7 +427,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -440,7 +440,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -453,7 +453,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -466,7 +466,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -479,7 +479,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -569,7 +569,7 @@ rdfs:comment "verbatimID-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -581,7 +581,7 @@ rdfs:comment "verbatimID-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -594,7 +594,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Calothamnus lateralis var. crassus" ; @@ -607,7 +607,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -620,7 +620,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -633,7 +633,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia ?excelsa" ; @@ -646,7 +646,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -659,7 +659,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -672,7 +672,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Boronia anceps" ; @@ -685,7 +685,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -698,7 +698,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -711,7 +711,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -724,7 +724,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Banksia sessilis var. cordata" ; @@ -737,7 +737,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -748,12 +748,12 @@ a rdfs:Datatype ; skos:definition "A catalog number for the sample" ; skos:prefLabel "BHP catalogNumber" ; - prov:wasAttributedTo . + prov:wasAttributedTo . a rdfs:Datatype ; skos:definition "A catalog number for the sample" ; skos:prefLabel "WAM catalogNumber" ; - prov:wasAttributedTo . + prov:wasAttributedTo . a rdfs:Datatype ; skos:definition "An identifier for the record" ; @@ -768,7 +768,7 @@ a rdfs:Datatype ; skos:definition "The record number of the original observation from the original observer of the organism" ; skos:prefLabel "Stream Environment and Water Pty Ltd recordNumber" ; - prov:wasAttributedTo . + prov:wasAttributedTo . a tern:SiteVisit ; schema:isPartOf . @@ -894,11 +894,11 @@ tern:hasValue . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a skos:Concept ; @@ -1074,7 +1074,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template dateIdentified used as proxy" ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "VU" ; @@ -1300,13 +1300,13 @@ rdfs:label "species" ; rdf:value . - a prov:Agent ; + a prov:Agent ; schema:name "BHP" . - a prov:Agent ; + a prov:Agent ; schema:name "Test Pty Ltd" . - a prov:Agent ; + a prov:Agent ; schema:name "WA-BIO" . a tern:FeatureOfInterest, @@ -1336,7 +1336,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1349,7 +1349,7 @@ time:hasTime [ a time:Instant ; rdfs:comment "Date unknown, template eventDateStart used as proxy" ; time:inXSDDate "2019-09-26"^^xsd:date ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1434,14 +1434,14 @@ sosa:usedProcedure ; schema:isPartOf . - a prov:Agent ; + a prov:Agent ; schema:name "WAM" . a tern:Observation ; rdfs:comment "scientificName-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1453,7 +1453,7 @@ rdfs:comment "scientificName-observation" ; time:hasTime [ a time:Instant ; time:inXSDDateTimeStamp "2019-09-27T12:34:00+08:00"^^xsd:dateTimeStamp ] ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:hasSimpleResult "Caladenia excelsa" ; @@ -1485,7 +1485,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc575500000000 ; @@ -1497,7 +1497,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc57550000001b ; @@ -1509,7 +1509,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc57550000001e ; @@ -1533,7 +1533,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc575500000006 ; @@ -1545,7 +1545,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc575500000009 ; @@ -1557,7 +1557,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc57550000000c ; @@ -1569,7 +1569,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc57550000000f ; @@ -1581,7 +1581,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc575500000012 ; @@ -1593,7 +1593,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc575500000015 ; @@ -1605,7 +1605,7 @@ a dwc:Occurrence, tern:FeatureOfInterest ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc575500000018 ; @@ -1636,7 +1636,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "CC123"^^ ; dwc:collectionCode "C01" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc575500000024 ; @@ -1650,7 +1650,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "CC456"^^ ; dwc:collectionCode "C01" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:usedProcedure ; schema:isPartOf ; schema:spatial _:N7bfc9936b099cf9353fc575500000027 ; @@ -1688,7 +1688,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "ARACH"^^ ; dwc:collectionCode "32237" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:isSampleOf ; sosa:usedProcedure ; schema:identifier "BHP2012-7521"^^, @@ -1709,7 +1709,7 @@ tern:FeatureOfInterest ; dwc:catalogNumber "ARACH"^^ ; dwc:collectionCode "32238" ; - prov:wasAssociatedWith ; + prov:wasAssociatedWith ; sosa:isSampleOf ; sosa:usedProcedure ; schema:identifier "BHP2012-7522"^^, @@ -1725,7 +1725,7 @@ tern:featureType ; tern:locationDescription "Cowaramup Bay Road" . - a prov:Agent ; + a prov:Agent ; schema:name "Stream Environment and Water Pty Ltd" . a tern:Dataset . diff --git a/abis_mapping/templates/survey_occurrence_data_v3/examples/organism_qty.ttl b/abis_mapping/templates/survey_occurrence_data_v3/examples/organism_qty.ttl index ffa0115d..a742f61d 100644 --- a/abis_mapping/templates/survey_occurrence_data_v3/examples/organism_qty.ttl +++ b/abis_mapping/templates/survey_occurrence_data_v3/examples/organism_qty.ttl @@ -52,7 +52,7 @@ tern:featureType . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a tern:Float, @@ -69,7 +69,7 @@ schema:isPartOf ; tern:featureType . - a prov:Agent ; + a prov:Agent ; schema:name "Gaia Resources" . a dwc:Occurrence, diff --git a/abis_mapping/templates/survey_occurrence_data_v3/mapping.py b/abis_mapping/templates/survey_occurrence_data_v3/mapping.py index d5e64aa1..04d1af5e 100644 --- a/abis_mapping/templates/survey_occurrence_data_v3/mapping.py +++ b/abis_mapping/templates/survey_occurrence_data_v3/mapping.py @@ -298,15 +298,15 @@ def apply_mapping_row( provider_record_id_source: str = row["providerRecordIDSource"] # Create URIs - provider_identified = utils.iri_patterns.agent_iri(row["identifiedBy"]) + provider_identified = utils.iri_patterns.agent_iri("org", row["identifiedBy"]) sample_specimen = utils.iri_patterns.sample_iri(base_iri, "specimen", provider_record_id) sampling_specimen = utils.iri_patterns.sampling_iri(base_iri, "specimen", provider_record_id) sample_sequence = utils.iri_patterns.sample_iri(base_iri, "sequence", provider_record_id) sampling_sequencing = utils.iri_patterns.sampling_iri(base_iri, "sequencing", provider_record_id) - provider_determined_by = utils.iri_patterns.agent_iri(row["threatStatusDeterminedBy"]) + provider_determined_by = utils.iri_patterns.agent_iri("org", row["threatStatusDeterminedBy"]) provider_record_id_datatype = utils.iri_patterns.datatype_iri("recordID", provider_record_id_source) - provider_record_id_agent = utils.iri_patterns.agent_iri(provider_record_id_source) + provider_record_id_agent = utils.iri_patterns.agent_iri("org", provider_record_id_source) provider_record_id_attribution = utils.iri_patterns.attribution_iri( base_iri, "resourceProvider", provider_record_id_source ) @@ -412,7 +412,7 @@ def apply_mapping_row( # Conditionally create uris dependent on recordedBy field. if recorded_by := row["recordedBy"]: record_number_datatype = utils.iri_patterns.datatype_iri("recordNumber", recorded_by) - provider_recorded_by = utils.iri_patterns.agent_iri(recorded_by) + provider_recorded_by = utils.iri_patterns.agent_iri("org", recorded_by) else: record_number_datatype = None provider_recorded_by = None @@ -430,7 +430,7 @@ def apply_mapping_row( # Conditionally create uris dependent on ownerRecordIDSource field if owner_record_id_source := row["ownerRecordIDSource"]: owner_record_id_datatype = utils.iri_patterns.datatype_iri("recordID", owner_record_id_source) - owner_record_id_provider = utils.iri_patterns.agent_iri(owner_record_id_source) + owner_record_id_provider = utils.iri_patterns.agent_iri("org", owner_record_id_source) owner_record_id_attribution = utils.iri_patterns.attribution_iri(base_iri, "owner", owner_record_id_source) else: owner_record_id_datatype = None @@ -440,7 +440,7 @@ def apply_mapping_row( # Conditionally create uris dependent on catalogNumberSource field. if catalog_number_source := row["catalogNumberSource"]: catalog_number_datatype = utils.iri_patterns.datatype_iri("catalogNumber", catalog_number_source) - catalog_number_provider = utils.iri_patterns.agent_iri(catalog_number_source) + catalog_number_provider = utils.iri_patterns.agent_iri("org", catalog_number_source) else: catalog_number_datatype = None catalog_number_provider = None @@ -450,7 +450,7 @@ def apply_mapping_row( other_catalog_numbers_datatype = utils.iri_patterns.datatype_iri( "catalogNumber", other_catalog_numbers_source ) - other_catalog_numbers_provider = utils.iri_patterns.agent_iri(other_catalog_numbers_source) + other_catalog_numbers_provider = utils.iri_patterns.agent_iri("org", other_catalog_numbers_source) else: other_catalog_numbers_datatype = None other_catalog_numbers_provider = None diff --git a/abis_mapping/templates/survey_site_data_v2/examples/minimal.ttl b/abis_mapping/templates/survey_site_data_v2/examples/minimal.ttl index 12c24b78..5b1abd02 100644 --- a/abis_mapping/templates/survey_site_data_v2/examples/minimal.ttl +++ b/abis_mapping/templates/survey_site_data_v2/examples/minimal.ttl @@ -42,7 +42,7 @@ tern:hasValue . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a tern:Text, @@ -54,7 +54,7 @@ rdfs:label "Closed forest" ; rdf:value . - a prov:Agent ; + a prov:Agent ; schema:name "WAM" . a tern:Site ; diff --git a/abis_mapping/templates/survey_site_data_v2/mapping.py b/abis_mapping/templates/survey_site_data_v2/mapping.py index fe1b51b8..bc762fa0 100644 --- a/abis_mapping/templates/survey_site_data_v2/mapping.py +++ b/abis_mapping/templates/survey_site_data_v2/mapping.py @@ -242,7 +242,7 @@ def apply_mapping_row( site_id_src: str | None = row["siteIDSource"] if site_id_src: site_id_datatype = utils.iri_patterns.datatype_iri("siteID", site_id_src) - site_id_agent = utils.iri_patterns.agent_iri(site_id_src) + site_id_agent = utils.iri_patterns.agent_iri("org", site_id_src) site_id_attribution = utils.iri_patterns.attribution_iri(base_iri, "resourceProvider", site_id_src) else: site_id_datatype = None diff --git a/abis_mapping/templates/survey_site_data_v3/examples/minimal.ttl b/abis_mapping/templates/survey_site_data_v3/examples/minimal.ttl index e144174a..6b70caca 100644 --- a/abis_mapping/templates/survey_site_data_v3/examples/minimal.ttl +++ b/abis_mapping/templates/survey_site_data_v3/examples/minimal.ttl @@ -42,7 +42,7 @@ tern:hasValue . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a tern:Text, @@ -54,7 +54,7 @@ rdfs:label "Closed forest" ; rdf:value . - a prov:Agent ; + a prov:Agent ; schema:name "WAM" . a tern:Site ; diff --git a/abis_mapping/templates/survey_site_data_v3/mapping.py b/abis_mapping/templates/survey_site_data_v3/mapping.py index 24a1db61..7d3da6c6 100644 --- a/abis_mapping/templates/survey_site_data_v3/mapping.py +++ b/abis_mapping/templates/survey_site_data_v3/mapping.py @@ -242,7 +242,7 @@ def apply_mapping_row( site_id_src: str | None = row["siteIDSource"] if site_id_src: site_id_datatype = utils.iri_patterns.datatype_iri("siteID", site_id_src) - site_id_agent = utils.iri_patterns.agent_iri(site_id_src) + site_id_agent = utils.iri_patterns.agent_iri("org", site_id_src) site_id_attribution = utils.iri_patterns.attribution_iri(base_iri, "resourceProvider", site_id_src) else: site_id_datatype = None diff --git a/abis_mapping/templates/survey_site_visit_data_v2/examples/minimal.ttl b/abis_mapping/templates/survey_site_visit_data_v2/examples/minimal.ttl index af9370cc..2b840065 100644 --- a/abis_mapping/templates/survey_site_visit_data_v2/examples/minimal.ttl +++ b/abis_mapping/templates/survey_site_visit_data_v2/examples/minimal.ttl @@ -48,8 +48,8 @@ time:hasBeginning [ a time:Instant ; time:inXSDDate "2024-03-12"^^xsd:date ] ] ; prov:hadPlan ; - prov:wasAssociatedWith , - ; + prov:wasAssociatedWith , + ; schema:identifier "TIS-24-03-P1-03" ; schema:isPartOf , ; @@ -86,7 +86,7 @@ tern:hasValue . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a skos:Concept ; @@ -145,15 +145,15 @@ sosa:usedProcedure ; schema:isPartOf . - a prov:Agent, + a prov:Agent, prov:Organization ; schema:name "DBCA" . - a prov:Agent, + a prov:Agent, prov:Person ; schema:name "ORCID00002" . - a prov:Agent, + a prov:Agent, prov:Person ; schema:name "ORCID00003" . @@ -164,10 +164,10 @@ time:hasEnd [ a time:Instant ; time:inXSDDate "2024-04-04"^^xsd:date ] ] ; prov:hadPlan ; - prov:wasAssociatedWith , - , - , - ; + prov:wasAssociatedWith , + , + , + ; schema:identifier "TIS-24-03-P1-01" ; schema:isPartOf , ; @@ -181,15 +181,15 @@ time:hasEnd [ a time:Instant ; time:inXSDDate "2024-03-12"^^xsd:date ] ] ; prov:hadPlan ; - prov:wasAssociatedWith , - ; + prov:wasAssociatedWith , + ; schema:identifier "TIS-24-03-P1-02" ; schema:isPartOf , ; tern:hasSite ; tern:siteDescription "moist leaf litter after recent rain" . - a prov:Agent, + a prov:Agent, prov:Person ; schema:name "ORCID00001" . @@ -200,7 +200,7 @@ a tern:Survey ; schema:isPartOf . - a prov:Agent, + a prov:Agent, prov:Organization ; schema:name "WAM" . diff --git a/abis_mapping/templates/survey_site_visit_data_v2/mapping.py b/abis_mapping/templates/survey_site_visit_data_v2/mapping.py index d61823d8..d2c46610 100644 --- a/abis_mapping/templates/survey_site_visit_data_v2/mapping.py +++ b/abis_mapping/templates/survey_site_visit_data_v2/mapping.py @@ -253,7 +253,7 @@ def apply_mapping_row( uri_site_id_datatype_attribution = utils.iri_patterns.attribution_iri( base_iri, "resourceProvider", row_site_id_source ) - uri_site_id_datatype_agent = utils.iri_patterns.agent_iri(row_site_id_source) + uri_site_id_datatype_agent = utils.iri_patterns.agent_iri("org", row_site_id_source) else: uri_site_id_datatype = None uri_site_id_datatype_attribution = None @@ -266,7 +266,7 @@ def apply_mapping_row( visit_org_agents = [ Agent( row_value=visit_org, - uri=utils.iri_patterns.agent_iri(visit_org), + uri=utils.iri_patterns.agent_iri("org", visit_org), ) for visit_org in row_visit_orgs ] @@ -280,7 +280,7 @@ def apply_mapping_row( visit_observer_agents = [ Agent( row_value=visit_observer, - uri=utils.iri_patterns.agent_iri(visit_observer), + uri=utils.iri_patterns.agent_iri("person", visit_observer), ) for visit_observer in row_visit_observers ] diff --git a/abis_mapping/templates/survey_site_visit_data_v3/examples/minimal.ttl b/abis_mapping/templates/survey_site_visit_data_v3/examples/minimal.ttl index af9370cc..2b840065 100644 --- a/abis_mapping/templates/survey_site_visit_data_v3/examples/minimal.ttl +++ b/abis_mapping/templates/survey_site_visit_data_v3/examples/minimal.ttl @@ -48,8 +48,8 @@ time:hasBeginning [ a time:Instant ; time:inXSDDate "2024-03-12"^^xsd:date ] ] ; prov:hadPlan ; - prov:wasAssociatedWith , - ; + prov:wasAssociatedWith , + ; schema:identifier "TIS-24-03-P1-03" ; schema:isPartOf , ; @@ -86,7 +86,7 @@ tern:hasValue . a prov:Attribution ; - prov:agent ; + prov:agent ; prov:hadRole . a skos:Concept ; @@ -145,15 +145,15 @@ sosa:usedProcedure ; schema:isPartOf . - a prov:Agent, + a prov:Agent, prov:Organization ; schema:name "DBCA" . - a prov:Agent, + a prov:Agent, prov:Person ; schema:name "ORCID00002" . - a prov:Agent, + a prov:Agent, prov:Person ; schema:name "ORCID00003" . @@ -164,10 +164,10 @@ time:hasEnd [ a time:Instant ; time:inXSDDate "2024-04-04"^^xsd:date ] ] ; prov:hadPlan ; - prov:wasAssociatedWith , - , - , - ; + prov:wasAssociatedWith , + , + , + ; schema:identifier "TIS-24-03-P1-01" ; schema:isPartOf , ; @@ -181,15 +181,15 @@ time:hasEnd [ a time:Instant ; time:inXSDDate "2024-03-12"^^xsd:date ] ] ; prov:hadPlan ; - prov:wasAssociatedWith , - ; + prov:wasAssociatedWith , + ; schema:identifier "TIS-24-03-P1-02" ; schema:isPartOf , ; tern:hasSite ; tern:siteDescription "moist leaf litter after recent rain" . - a prov:Agent, + a prov:Agent, prov:Person ; schema:name "ORCID00001" . @@ -200,7 +200,7 @@ a tern:Survey ; schema:isPartOf . - a prov:Agent, + a prov:Agent, prov:Organization ; schema:name "WAM" . diff --git a/abis_mapping/templates/survey_site_visit_data_v3/mapping.py b/abis_mapping/templates/survey_site_visit_data_v3/mapping.py index de4d25e1..a830ce7f 100644 --- a/abis_mapping/templates/survey_site_visit_data_v3/mapping.py +++ b/abis_mapping/templates/survey_site_visit_data_v3/mapping.py @@ -263,7 +263,7 @@ def apply_mapping_row( uri_site_id_datatype_attribution = utils.iri_patterns.attribution_iri( base_iri, "resourceProvider", row_site_id_source ) - uri_site_id_datatype_agent = utils.iri_patterns.agent_iri(row_site_id_source) + uri_site_id_datatype_agent = utils.iri_patterns.agent_iri("org", row_site_id_source) else: uri_site_id_datatype = None uri_site_id_datatype_attribution = None @@ -276,7 +276,7 @@ def apply_mapping_row( visit_org_agents = [ Agent( row_value=visit_org, - uri=utils.iri_patterns.agent_iri(visit_org), + uri=utils.iri_patterns.agent_iri("org", visit_org), ) for visit_org in row_visit_orgs ] @@ -290,7 +290,7 @@ def apply_mapping_row( visit_observer_agents = [ Agent( row_value=visit_observer, - uri=utils.iri_patterns.agent_iri(visit_observer), + uri=utils.iri_patterns.agent_iri("person", visit_observer), ) for visit_observer in row_visit_observers ] diff --git a/abis_mapping/utils/iri_patterns.py b/abis_mapping/utils/iri_patterns.py index 0c093547..39b21b52 100644 --- a/abis_mapping/utils/iri_patterns.py +++ b/abis_mapping/utils/iri_patterns.py @@ -164,20 +164,22 @@ def datatype_iri( def agent_iri( - org: str, + agent_type: Literal["org", "person"], + agent: str, /, ) -> rdflib.URIRef: """Get the IRI to use for a prov:Agent node. Args: - org: The org this agent node represents. + agent_type: What type of agent this is. + agent: The organization or person this agent node represents. Returns: URIRef for the prov:Agent node. """ return utils.rdf.uri( - f"{org}", - namespace=utils.namespaces.BDR_ORGS, + f"{agent_type}/{agent}", + namespace=utils.namespaces.DATASET_BDR, ) diff --git a/abis_mapping/utils/namespaces.py b/abis_mapping/utils/namespaces.py index d482301b..61924312 100644 --- a/abis_mapping/utils/namespaces.py +++ b/abis_mapping/utils/namespaces.py @@ -14,4 +14,4 @@ BDR = rdflib.Namespace("http://example.com/bdr-schema/") ABIS = rdflib.Namespace("https://linked.data.gov.au/def/abis/") BDR_DATATYPES = rdflib.Namespace("https://linked.data.gov.au/dataset/bdr/datatypes/") -BDR_ORGS = rdflib.Namespace("https://linked.data.gov.au/dataset/bdr/orgs/") +DATASET_BDR = rdflib.Namespace("https://linked.data.gov.au/dataset/bdr/")