globalbioticinteractions icon indicating copy to clipboard operation
globalbioticinteractions copied to clipboard

index nanopubs with species interaction claims on BDJ via KnowledgePixels

Open jhpoelen opened this issue 1 year ago • 40 comments

via https://bdj.pensoft.net/nanopublications

image

jhpoelen avatar Sep 22 '23 14:09 jhpoelen

fyi @tkuhn - any ideas to help index this?

jhpoelen avatar Sep 22 '23 14:09 jhpoelen

https://np.petapico.org/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU

image

@prefix this: <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> .
@prefix sub: <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#> .
@prefix np: <http://www.nanopub.org/nschema#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix nt: <https://w3id.org/np/o/ntemplate/> .
@prefix npx: <http://purl.org/nanopub/x/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix orcid: <https://orcid.org/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
sub:Head {
  this: np:hasAssertion sub:assertion ;
    np:hasProvenance sub:provenance ;
    np:hasPublicationInfo sub:pubinfo ;
    a np:Nanopublication .
}
sub:assertion {
  sub:association a <https://w3id.org/biolink/vocab/OrganismTaxonToOrganismTaxonAssociation> ;
    rdfs:comment "Wolf (Canis lupus) predation and scavenging of reintroduced bison (Bison bison): a hallmark of ecological restoration to boreal food webs" ;
    <https://w3id.org/biolink/vocab/object> sub:objtaxon ;
    <https://w3id.org/biolink/vocab/predicate> <http://purl.obolibrary.org/obo/RO_0002439> ;
    <https://w3id.org/biolink/vocab/subject> sub:subjtaxon ;
    <https://w3id.org/kpxl/biodiv/terms/hasSubjectLifeCycleStage> <http://purl.obolibrary.org/obo/UBERON_0018241> .
  sub:objtaxon <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/2169/taxon/9901> .
  sub:subjtaxon <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/9880/taxon/QLXL> .
}
sub:provenance {
  sub:assertion prov:wasDerivedFrom <https://doi.org/10.1007/s10344-023-01676-0> .
}
sub:pubinfo {
  sub:sig npx:hasAlgorithm "RSA" ;
    npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjDGQCS1S+SRnERDuYDXOugdYUP0efEquHJEEHAbU/uLzBVlga89zqrNPCS7fBE6lArBUWEmT8eLKdMapyqvAzI1J3jUWTMhDJF+XFBkUiuiFfNSc4vJJcmi0yujtnuzXsRIG202jyaP4f5ULoskFwaZOSBZJfiE0dsB3D7DTIAQIDAQAB" ;
    npx:hasSignature "BmxFhIUMaljf5MGd6ETv/dTclruWtt0knKiiU9wJPKaq1G3ZfTloNVZB6AckOoKivlQDVr8D8qas4enqbRGhWYLV2se7YMsiMg1lTB09WndovUXp9+5lRIy1s0z1nKF4VqBYEfMNuujtYPyQ8X+cDgqpSjZecrX3iqlBcYlGTD0=" ;
    npx:hasSignatureTarget this: .
  this: dct:created "2023-09-15T08:54:31.806Z"^^xsd:dateTime ;
    dct:creator orcid:0000-0002-1267-0234 ;
    dct:license <https://creativecommons.org/publicdomain/zero/1.0/> ;
    npx:hasNanopubType <https://w3id.org/kpxl/biodiv/terms/BiodivNanopub> ;
    npx:introduces sub:association ;
    rdfs:label "Canis lupus Linnaeus, 1758 (species) - preys on - Bison bison (species)" ;
    nt:wasCreatedFromProvenanceTemplate <http://purl.org/np/RAcTpoh5Ra0ssqmcpOgWdaZ_YiPE6demO6cpw-2RvSNs8> ;
    nt:wasCreatedFromPubinfoTemplate <http://purl.org/np/RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM> , <http://purl.org/np/RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90> ;
    nt:wasCreatedFromTemplate <http://purl.org/np/RAh16oLqLJKo8I8R2CebR1n8Dwv95KL_H-azFfGt2FGW0> .
  <https://www.checklistbank.org/dataset/2169/taxon/9901> nt:hasLabelFromApi "Bison bison (species)" .
  <https://www.checklistbank.org/dataset/9880/taxon/QLXL> nt:hasLabelFromApi "Canis lupus Linnaeus, 1758 (species)" .
}

jhpoelen avatar Sep 22 '23 14:09 jhpoelen

See related publications -

https://www.globalbioticinteractions.org/?interactionType=eatenBy&sourceTaxon=Bison%20bison&targetTaxon=Canis%20lupus

and via https://www.globalbioticinteractions.org/references.html?interactionType=eatenBy&sourceTaxon=Bison%20bison&targetTaxon=Canis%20lupus

image

Many of which are included in iNaturalist https://globalbioticinteractions.org/datasets

image

available via https://depot.globalbioticinteractions.org/reviews/globalbioticinteractions/inaturalist/nanopub.trig.gz .

jhpoelen avatar Sep 22 '23 14:09 jhpoelen

Here's an example from the existing inaturalist nanopub collection:

curl "https://depot.globalbioticinteractions.org/reviews/globalbioticinteractions/inaturalist/nanopub.trig.gz" | gunzip | grep "28845843" | tee result.trig

with result.trig being:

@prefix this: <http://purl.org/np/RA3-Hm3EHGkwsYBExRQsIreNRnA4cu9hlFTc7NIAWc-o0> . @prefix sub: <http://purl.org/np/RA3-Hm3EHGkwsYBExRQsIreNRnA4cu9hlFTc7NIAWc-o0#> . @prefix np: <http://www.nanopub.org/nschema#> . @prefix dcterms: <http://purl.org/dc/terms/> . @prefix prov: <http://www.w3.org/ns/prov#> . @prefix pav: <http://swan.mindinformatics.org/ontologies/1.2/pav/> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix obo: <http://purl.obolibrary.org/obo/> . @prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .  sub:Head {   this: np:hasAssertion sub:Assertion;     np:hasProvenance sub:Provenance;     np:hasPublicationInfo sub:Pubinfo;     a np:Nanopublication . }  sub:Assertion {   sub:Interaction obo:RO_0000057 sub:Organism_1, sub:Organism_2;     a obo:GO_0044419;     geo:latitude "44.883776052"^^xsd:decimal;     geo:longitude "-110.1556417747"^^xsd:decimal;     prov:atTime "2019-06-18T01:30:00Z"^^xsd:dateTime .      sub:Organism_1 obo:RO_0002439 sub:Organism_2;     a <https://inaturalist.org/taxa/42048>;     rdfs:label "Canis lupus" .      sub:Organism_2 a <https://inaturalist.org/taxa/123788>;     rdfs:label "Bison bison bison" . }  sub:Provenance {   sub:Assertion prov:wasDerivedFrom sub:Study .      sub:Study dcterms:bibliographicCitation "Jon Brooks. 2019. Canis lupus interaction-&gt;preyed on Bison bison bison. iNaturalist.org. Accessed at &lt;https://www.inaturalist.org/observations/28845843&gt; on 19 Sep 2023." . }  sub:Pubinfo {   this: dcterms:license <https://creativecommons.org/licenses/by/4.0/>;     pav:createdBy <https://doi.org/10.5281/zenodo.998263>;     prov:wasDerivedFrom <https://github.com/globalbioticinteractions/inaturalist> .      <https://github.com/globalbioticinteractions/inaturalist> dcterms:bibliographicCitation       "http://iNaturalist.org is a place where you can record what you see in nature, meet other nature lovers, and learn about the natural world." . }

with associated iNaturalist observation at https://www.inaturalist.org/observations/28845843

image

With GloBI's view -

image

jhpoelen avatar Sep 22 '23 14:09 jhpoelen

Another example of GloBI generated nanopubs -

<https://depot.globalbioticinteractions.org/reviews/FloraVincent/DIDB/nanopub-sample.trig> <http://purl.org/pav/hasVersion> <hash://sha256/021a51280545d8f92fe423ae8c86279e36b0b3d773a25d43a30e0b759f95cb5a> .

FloraVincent-DIDB-sample.trig.txt

jhpoelen avatar Sep 25 '23 19:09 jhpoelen

With "index" you mean to use these nanopublications in tools like https://www.globalbioticinteractions.org? Or the other way round, to feed the nanopublications you are already generating into the nanopub ecosystem? Or both? :)

tkuhn avatar Sep 26 '23 07:09 tkuhn

Ideally both.

And, to get started, I'd want to be able to find nanopublications in Pensoft associated resources that make statements involving species interactions (or biotic interactions).

In other words:

  1. query X to retrieve Pensoft Associated Resources
  2. version Pensoft associated resources (nanopubs?)
  3. add versioned resources to GloBI index
  4. query for X in GloBI to find Pensoft associated resources

jhpoelen avatar Sep 26 '23 12:09 jhpoelen

@tkuhn curious to hear your thoughts on the GloBI<>Pensoft Nanopub integration proposal .

jhpoelen avatar Sep 26 '23 14:09 jhpoelen

Yes, makes sense to first focus on the Nanopub>GloBI direction.

You can, for example, get all taxon-taxon relations according to the templates used at Pensoft with this API call (add .csv or .json to get machine-friendly formats): https://grlc.petapico.org/api-git/knowledgepixels/bdj-nanopub-api/get-taxontaxon-nanopubs

It executes in the back this SPARQL query: https://github.com/knowledgepixels/bdj-nanopub-api/blob/main/get-taxontaxon-nanopubs.rq

Does that match what you are looking for? We can adjust the query to get out what you need, basically.

That would cover points 1 and 2 in your list, as nanopublications are already versioned with their hash-based Trusty URI (unless the GloBI index requires a different kind of versioning).

The above API call returns all nanopublications that match the template as defined for the Pensoft pilot. But these nanopublications are otherwise not necessarily associated with Pensoft. Some will be reviewed and formally accepted at Pensoft (coming soon), others might be associated with upcoming submissions there, and others might have no link to Pensoft other than using the same or similar nanopub structure.

tkuhn avatar Sep 27 '23 12:09 tkuhn

@tkuhn thanks for your prompt reply and detailed examples.

Am eager to get this integration up and running.

I tried the api call https://grlc.petapico.org/api-git/knowledgepixels/bdj-nanopub-api/get-taxontaxon-nanopubs in a web browser

and got a timeout. Is that expected?

Screenshot from 2023-09-27 09-20-49

jhpoelen avatar Sep 27 '23 14:09 jhpoelen

Yeah, sorry, the petapico.org server keeps misbehaving. I should have given you this one: https://grlc.knowledgepixels.com/api-git/knowledgepixels/bdj-nanopub-api/get-taxontaxon-nanopubs

tkuhn avatar Sep 27 '23 14:09 tkuhn

@tkuhn thanks! I got some results now -

image

jhpoelen avatar Sep 27 '23 14:09 jhpoelen

A first pass at index configuration is available via https://github.com/globalbioticinteractions/knowledgepixels .

For some reason, the url https://grlc.knowledgepixels.com/api-git/knowledgepixels/bdj-nanopub-api/get-taxontaxon-nanopubs.csv works 200/OK in curl / web browser. However, when using elton's http client, a 500 server error is generated.

What can I do to help troubleshoot this likely http request header issue?

jhpoelen avatar Sep 27 '23 14:09 jhpoelen

See related issue https://github.com/globalbioticinteractions/knowledgepixels/issues/1 .

jhpoelen avatar Sep 27 '23 16:09 jhpoelen

Hmm, I don't know what could be the reason that the elton client is getting a 500 error.

I am seeing some KeyError: 'HTTP_ACCEPT' in the logs. Not sure it's related to this, but might be.

Can you maybe see the precise request with HTTP headers that elton is sending?

tkuhn avatar Sep 29 '23 10:09 tkuhn

As far as I can tell, the request header is empty -

image

As obtained via https://github.com/globalbioticinteractions/globalbioticinteractions/blob/f215052602e47c78dd0970bb8e4733560f386ca5/eol-globi-resource-remote/src/test/java/org/eol/globi/util/ResourceServiceHTTPIT.java#L14 .

jhpoelen avatar Sep 29 '23 11:09 jhpoelen

@tkuhn any update on why knowledgepixel crashes on retrieval of content via Elton? https://grlc.knowledgepixels.com/api-git/knowledgepixels/bdj-nanopub-api/get-taxontaxon-nanopubs.csv

As far as I can tell, Elton works just fine with non-knowledgepixel servers.

I suspect a server-side processing error of sorts.

Can you confirm?

jhpoelen avatar Nov 02 '23 19:11 jhpoelen

It seems to be the occurring when the Accept header is missing. Is it possible to add ´Accept: */*´ on your side?

On my side this is based on the third-party tool grlc, and I am not sure how easy it would be to change this behavior...

tkuhn avatar Nov 03 '23 09:11 tkuhn

@tkuhn Thanks for having a look and I'll make an effort to add the accept header. Perhaps worth a bug report for grlc ? Seems weird to have things crash on a missing Accept header.

jhpoelen avatar Nov 03 '23 11:11 jhpoelen

related grlc issue - https://github.com/CLARIAH/grlc/issues/402 .

jhpoelen avatar Nov 03 '23 14:11 jhpoelen

Now, with elton v0.12.12, I can do -

elton pull globalbioticinteractions/knowledgepixels\
 && elton interactions globalbioticinteractions/knowledgepixels\

to produce a table (abbreviated for display)

sourceTaxonId sourceTaxonName interactionTypeId interactionTypeName targetTaxonId targetTaxonName referenceUrl referenceCitation
https://www.checklistbank.org/dataset/9880/taxon/QLXL http://purl.obolibrary.org/obo/RO_0002439 preysOn https://www.checklistbank.org/dataset/2169/taxon/9901 http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU Canis lupus Linnaeus, 1758 (species) - preys on - Bison bison (species)
https://www.checklistbank.org/dataset/9880/taxon/QLXL http://purl.obolibrary.org/obo/RO_0002470 eats https://www.checklistbank.org/dataset/9880/taxon/48NBQ http://purl.org/np/RALX2suiPKea3pm65RjS97EL6k9iY1Jew_mb30hO5Zjv0 Canis lupus Linnaeus, 1758 (species) - eats - Odocoileus virginianus (Zimmermann, 1780) (species)

jhpoelen avatar Nov 10 '23 00:11 jhpoelen

and, following the nanopub . . . https://np.petapico.org/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU

@tkuhn very cool!

via

curl "https://np.petapico.org/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU.nq"

got

<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <http://www.nanopub.org/nschema#hasAssertion> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#assertion> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#Head> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <http://www.nanopub.org/nschema#hasProvenance> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#provenance> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#Head> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <http://www.nanopub.org/nschema#hasPublicationInfo> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#Head> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.nanopub.org/nschema#Nanopublication> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#Head> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#association> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/biolink/vocab/OrganismTaxonToOrganismTaxonAssociation> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#assertion> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#association> <http://www.w3.org/2000/01/rdf-schema#comment> "Wolf (Canis lupus) predation and scavenging of reintroduced bison (Bison bison): a hallmark of ecological restoration to boreal food webs" <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#assertion> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#association> <https://w3id.org/biolink/vocab/object> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#objtaxon> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#assertion> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#association> <https://w3id.org/biolink/vocab/predicate> <http://purl.obolibrary.org/obo/RO_0002439> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#assertion> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#association> <https://w3id.org/biolink/vocab/subject> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#subjtaxon> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#assertion> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#association> <https://w3id.org/kpxl/biodiv/terms/hasSubjectLifeCycleStage> <http://purl.obolibrary.org/obo/UBERON_0018241> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#assertion> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#objtaxon> <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/2169/taxon/9901> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#assertion> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#subjtaxon> <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/9880/taxon/QLXL> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#assertion> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#assertion> <http://www.w3.org/ns/prov#wasDerivedFrom> <https://doi.org/10.1007/s10344-023-01676-0> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#provenance> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#sig> <http://purl.org/nanopub/x/hasAlgorithm> "RSA" <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#sig> <http://purl.org/nanopub/x/hasPublicKey> "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjDGQCS1S+SRnERDuYDXOugdYUP0efEquHJEEHAbU/uLzBVlga89zqrNPCS7fBE6lArBUWEmT8eLKdMapyqvAzI1J3jUWTMhDJF+XFBkUiuiFfNSc4vJJcmi0yujtnuzXsRIG202jyaP4f5ULoskFwaZOSBZJfiE0dsB3D7DTIAQIDAQAB" <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#sig> <http://purl.org/nanopub/x/hasSignature> "BmxFhIUMaljf5MGd6ETv/dTclruWtt0knKiiU9wJPKaq1G3ZfTloNVZB6AckOoKivlQDVr8D8qas4enqbRGhWYLV2se7YMsiMg1lTB09WndovUXp9+5lRIy1s0z1nKF4VqBYEfMNuujtYPyQ8X+cDgqpSjZecrX3iqlBcYlGTD0=" <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#sig> <http://purl.org/nanopub/x/hasSignatureTarget> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <http://purl.org/dc/terms/created> "2023-09-15T08:54:31.806Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <http://purl.org/dc/terms/creator> <https://orcid.org/0000-0002-1267-0234> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <http://purl.org/dc/terms/license> <https://creativecommons.org/publicdomain/zero/1.0/> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <http://purl.org/nanopub/x/hasNanopubType> <https://w3id.org/kpxl/biodiv/terms/BiodivNanopub> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <http://purl.org/nanopub/x/introduces> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#association> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <http://www.w3.org/2000/01/rdf-schema#label> "Canis lupus Linnaeus, 1758 (species) - preys on - Bison bison (species)" <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate> <http://purl.org/np/RAcTpoh5Ra0ssqmcpOgWdaZ_YiPE6demO6cpw-2RvSNs8> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate> <http://purl.org/np/RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate> <http://purl.org/np/RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> <https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate> <http://purl.org/np/RAh16oLqLJKo8I8R2CebR1n8Dwv95KL_H-azFfGt2FGW0> <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<https://www.checklistbank.org/dataset/2169/taxon/9901> <https://w3id.org/np/o/ntemplate/hasLabelFromApi> "Bison bison (species)" <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .
<https://www.checklistbank.org/dataset/9880/taxon/QLXL> <https://w3id.org/np/o/ntemplate/hasLabelFromApi> "Canis lupus Linnaeus, 1758 (species)" <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#pubinfo> .

or via

curl "https://np.petapico.org/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU.trig"

got

@prefix this: <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU> .
@prefix sub: <http://purl.org/np/RAOgLBuvJRusIKPJyhXbx7sMI1aKj_AI0l1oG6XXsO4pU#> .
@prefix np: <http://www.nanopub.org/nschema#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix nt: <https://w3id.org/np/o/ntemplate/> .
@prefix npx: <http://purl.org/nanopub/x/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix orcid: <https://orcid.org/> .
@prefix prov: <http://www.w3.org/ns/prov#> .

sub:Head {
  this: np:hasAssertion sub:assertion;
    np:hasProvenance sub:provenance;
    np:hasPublicationInfo sub:pubinfo;
    a np:Nanopublication .
}

sub:assertion {
  sub:association a <https://w3id.org/biolink/vocab/OrganismTaxonToOrganismTaxonAssociation>;
    rdfs:comment "Wolf (Canis lupus) predation and scavenging of reintroduced bison (Bison bison): a hallmark of ecological restoration to boreal food webs";
    <https://w3id.org/biolink/vocab/object> sub:objtaxon;
    <https://w3id.org/biolink/vocab/predicate> <http://purl.obolibrary.org/obo/RO_0002439>;
    <https://w3id.org/biolink/vocab/subject> sub:subjtaxon;
    <https://w3id.org/kpxl/biodiv/terms/hasSubjectLifeCycleStage> <http://purl.obolibrary.org/obo/UBERON_0018241> .
  
  sub:objtaxon <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/2169/taxon/9901> .
  
  sub:subjtaxon <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/9880/taxon/QLXL> .
}

sub:provenance {
  sub:assertion prov:wasDerivedFrom <https://doi.org/10.1007/s10344-023-01676-0> .
}

sub:pubinfo {
  sub:sig npx:hasAlgorithm "RSA";
    npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjDGQCS1S+SRnERDuYDXOugdYUP0efEquHJEEHAbU/uLzBVlga89zqrNPCS7fBE6lArBUWEmT8eLKdMapyqvAzI1J3jUWTMhDJF+XFBkUiuiFfNSc4vJJcmi0yujtnuzXsRIG202jyaP4f5ULoskFwaZOSBZJfiE0dsB3D7DTIAQIDAQAB";
    npx:hasSignature "BmxFhIUMaljf5MGd6ETv/dTclruWtt0knKiiU9wJPKaq1G3ZfTloNVZB6AckOoKivlQDVr8D8qas4enqbRGhWYLV2se7YMsiMg1lTB09WndovUXp9+5lRIy1s0z1nKF4VqBYEfMNuujtYPyQ8X+cDgqpSjZecrX3iqlBcYlGTD0=";
    npx:hasSignatureTarget this: .
  
  this: dct:created "2023-09-15T08:54:31.806Z"^^xsd:dateTime;
    dct:creator orcid:0000-0002-1267-0234;
    dct:license <https://creativecommons.org/publicdomain/zero/1.0/>;
    npx:hasNanopubType <https://w3id.org/kpxl/biodiv/terms/BiodivNanopub>;
    npx:introduces sub:association;
    rdfs:label "Canis lupus Linnaeus, 1758 (species) - preys on - Bison bison (species)";
    nt:wasCreatedFromProvenanceTemplate <http://purl.org/np/RAcTpoh5Ra0ssqmcpOgWdaZ_YiPE6demO6cpw-2RvSNs8>;
    nt:wasCreatedFromPubinfoTemplate <http://purl.org/np/RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM>,
      <http://purl.org/np/RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90>;
    nt:wasCreatedFromTemplate <http://purl.org/np/RAh16oLqLJKo8I8R2CebR1n8Dwv95KL_H-azFfGt2FGW0> .
  
  <https://www.checklistbank.org/dataset/2169/taxon/9901> nt:hasLabelFromApi "Bison bison (species)" .
  
  <https://www.checklistbank.org/dataset/9880/taxon/QLXL> nt:hasLabelFromApi "Canis lupus Linnaeus, 1758 (species)" .
}

image

jhpoelen avatar Nov 10 '23 00:11 jhpoelen

About the structure of the assertion . . . I was unable to find the definition of some of the biolink terms (e.g., https://w3id.org/biolink/vocab/OrganismTaxonToOrganismTaxonAssociation). Is this to be expected? How'd you want species interactions to be modeled in rdf ?

sub:association a <https://w3id.org/biolink/vocab/OrganismTaxonToOrganismTaxonAssociation>;
    rdfs:comment "Wolf (Canis lupus) predation and scavenging of reintroduced bison (Bison bison): a hallmark of ecological restoration to boreal food webs";
    <https://w3id.org/biolink/vocab/object> sub:objtaxon;
    <https://w3id.org/biolink/vocab/predicate> <http://purl.obolibrary.org/obo/RO_0002439>;
    <https://w3id.org/biolink/vocab/subject> sub:subjtaxon;
    <https://w3id.org/kpxl/biodiv/terms/hasSubjectLifeCycleStage> <http://purl.obolibrary.org/obo/UBERON_0018241> .
  
  sub:objtaxon <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/2169/taxon/9901> .
  
  sub:subjtaxon <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/9880/taxon/QLXL> .

jhpoelen avatar Nov 10 '23 00:11 jhpoelen

Also, I noticed that on https://grlc.knowledgepixels.com/api-git/knowledgepixels/bdj-nanopub-api/get-taxontaxon-nanopubs , there's 2 claims with "source" DOIs. Others appear to be empty. However, in the nanopub assertion there's a neat statement for at least one of the DOI-less ones.

e.g., from http://purl.org/np/RAlfH1ba32D9P9ODv0_pade_yQ8zmPmjPY6CxEXqyj_N8

sub:provenance { sub:assertion prov:wasGeneratedBy sub:research-activity . sub:research-activity dct:description https://doi.org/10.3897/zookeys.1181.107496 . https://doi.org/10.3897/zookeys.1181.107496 a http://purl.org/spar/fabio/ScholarlyWork . }

but for some reason, https://doi.org/10.3897/zookeys.1181.107496 did not appear in the table version.

Curious to hear your thoughts on keeping the table version integration, or perhaps let GloBI be a little more "semantic". I can see benefits either way. . . curious to hear your thoughts on how to let this integration mature.

image

image

jhpoelen avatar Nov 10 '23 00:11 jhpoelen

About the structure of the assertion . . . I was unable to find the definition of some of the biolink terms (e.g., https://w3id.org/biolink/vocab/OrganismTaxonToOrganismTaxonAssociation). Is this to be expected? How'd you want species interactions to be modeled in rdf ?

sub:association a <https://w3id.org/biolink/vocab/OrganismTaxonToOrganismTaxonAssociation>;
    rdfs:comment "Wolf (Canis lupus) predation and scavenging of reintroduced bison (Bison bison): a hallmark of ecological restoration to boreal food webs";
    <https://w3id.org/biolink/vocab/object> sub:objtaxon;
    <https://w3id.org/biolink/vocab/predicate> <http://purl.obolibrary.org/obo/RO_0002439>;
    <https://w3id.org/biolink/vocab/subject> sub:subjtaxon;
    <https://w3id.org/kpxl/biodiv/terms/hasSubjectLifeCycleStage> <http://purl.obolibrary.org/obo/UBERON_0018241> .
  
  sub:objtaxon <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/2169/taxon/9901> .
  
  sub:subjtaxon <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/9880/taxon/QLXL> .

This seems to be an error at Biolink. This term is defined here: https://biolink.github.io/biolink-model/OrganismTaxonToOrganismTaxonAssociation/

And this page includes a link to the URI you mention above, leading to the same 404 error.

We are using some other terms we had to define in our own namespace, a number of which we still have to properly define. So you might run into some undefined one that are on us.

tkuhn avatar Nov 10 '23 12:11 tkuhn

@tkuhn thanks for clarifying the background of the biolink term URIs used.

Note that a first version of the knowledgepixel species interaction claims have been indexed by GloBI

https://www.globalbioticinteractions.org/?accordingTo=globi%3Aglobalbioticinteractions%2Fknowledgepixels&interactionType=ecologicallyRelatedTo

for instance, http://purl.org/np/RA7rvl83o5zWgX7xANozswLg2EQy9EpDDsZ-nACu2OYkc

@prefix this: <http://purl.org/np/RA7rvl83o5zWgX7xANozswLg2EQy9EpDDsZ-nACu2OYkc> .
@prefix sub: <http://purl.org/np/RA7rvl83o5zWgX7xANozswLg2EQy9EpDDsZ-nACu2OYkc#> .
@prefix np: <http://www.nanopub.org/nschema#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix nt: <https://w3id.org/np/o/ntemplate/> .
@prefix npx: <http://purl.org/nanopub/x/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix orcid: <https://orcid.org/> .
@prefix prov: <http://www.w3.org/ns/prov#> .

sub:Head {
  this: np:hasAssertion sub:assertion;
    np:hasProvenance sub:provenance;
    np:hasPublicationInfo sub:pubinfo;
    a np:Nanopublication .
}

sub:assertion {
  sub:association a <https://w3id.org/biolink/vocab/OrganismTaxonToOrganismTaxonAssociation>;
    rdfs:comment "The association was established by the amplicon metagenomic analysis of the gut content of the beetles, which revealed DNA of the object taxon.";
    <https://w3id.org/biolink/vocab/object> sub:objtaxon;
    <https://w3id.org/biolink/vocab/predicate> <http://purl.obolibrary.org/obo/RO_0002438>;
    <https://w3id.org/biolink/vocab/subject> sub:subjtaxon .
  
  sub:objtaxon <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/9880/taxon/6H9MK> .
  
  sub:subjtaxon <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> <https://www.checklistbank.org/dataset/9880/taxon/3K9T3> .
}

sub:provenance {
  sub:assertion prov:wasGeneratedBy sub:research-activity .
  
  sub:research-activity dct:description <https://doi.org/10.3897/zookeys.1181.107496> .
  
  <https://doi.org/10.3897/zookeys.1181.107496> a <http://purl.org/spar/fabio/ScholarlyWork> .
}

sub:pubinfo {
  sub:sig npx:hasAlgorithm "RSA";
    npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCIEo4TSFAp5pUug46M+PE3k+rauSFJ/s5jLCNmNL/4XyRjVJ3D8kVq27SCmUY3dY5YvvrpYDZHafJ/cCf3wr3fVcmMTfQJnnAo5t5bPm4Uz1fXRfaoJiUKuSa1P0G2AUBmYUk9WHFDqVUurIXxfLUYKedgnU+R9hQfGbV6SRXWuwIDAQAB";
    npx:hasSignature "JpSYqlrhfbEUA0QN+F99NfbLJPKjpHw+rW2ePjz8Y6ktFVcl18Z0oryo5WL0LAAtZCrquaJcJtzDDuZgsSDbFYyUKsMJJ0kHc1DcD+PPfKi74wy5jk+hCucLW6d+A3yKOJOn2zT1qPMGN2C7Mw7KBSlKYo3KN4e3LLwxEl2HIQo=";
    npx:hasSignatureTarget this: .
  
  this: dct:created "2023-10-02T10:06:51.209Z"^^xsd:dateTime;
    dct:creator orcid:0000-0002-6724-6828;
    dct:license <https://creativecommons.org/licenses/by/4.0/>;
    npx:hasNanopubType <https://w3id.org/kpxl/biodiv/terms/BiodivNanopub>;
    npx:introduces sub:association;
    rdfs:label "Helictopleurus giganteus (Harold, 1869) (species) - trophically interacts with - Eulemur fulvus (É.Geoffroy Saint-Hilaire, 1796) (species)";
    nt:wasCreatedFromProvenanceTemplate <http://purl.org/np/RALfxe37qzq5rEk6tLLcsSeKtKQZ1FcoHZdf2nYVfU66w>;
    nt:wasCreatedFromPubinfoTemplate <http://purl.org/np/RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM>,
      <http://purl.org/np/RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90>;
    nt:wasCreatedFromTemplate <http://purl.org/np/RAh16oLqLJKo8I8R2CebR1n8Dwv95KL_H-azFfGt2FGW0> .
  
  <https://www.checklistbank.org/dataset/9880/taxon/3K9T3> nt:hasLabelFromApi "Helictopleurus giganteus (Harold, 1869) (species)" .
  
  <https://www.checklistbank.org/dataset/9880/taxon/6H9MK> nt:hasLabelFromApi "Eulemur fulvus (É.Geoffroy Saint-Hilaire, 1796) (species)" .
}

, was indexed as

Screenshot from 2023-11-24 13-42-35

Note that name resolving of taxon ids like https://www.checklistbank.org/dataset/9880/taxon/6H9MK is not (yet) supported by GloBI. However, Catalogue of Life taxon ids are (e.g., https://www.catalogueoflife.org/data/taxon/6H9MK).

@tkuhn What was your motivation to point to https://www.checklistbank.org/dataset/9880/taxon/6H9MK ? It appears that the taxon link points to a specific version of a taxonomic checklist instead of pointing to some (aspirational) persistent identifier.

jhpoelen avatar Nov 24 '23 19:11 jhpoelen

@tkuhn Also, I noticed that you are using the relation "trophically interacts with" . I would expect a more directional relationship like "eats". Can you please elaborate?

jhpoelen avatar Nov 24 '23 19:11 jhpoelen

@tkuhn What was your motivation to point to https://www.checklistbank.org/dataset/9880/taxon/6H9MK ? It appears that the taxon link points to a specific version of a taxonomic checklist instead of pointing to some (aspirational) persistent identifier.

We chose checklistbank.org because it seemed to be the closest to a universal repository with larger coverage than just catalogueoflife.org, we could get an export that we can use for autocomplete, and we have to deal with just one URI scheme. These URIs seemed as persistent as the catalogueoflife.org ones, but I might be wrong about that. Ultimately we followed the advise by @lyubomirpenev.

tkuhn avatar Nov 28 '23 13:11 tkuhn

@tkuhn Also, I noticed that you are using the relation "trophically interacts with" . I would expect a more directional relationship like "eats". Can you please elaborate?

I didn't choose it, as it's not my nanopublication :). The given user chose it from a dropdown, which also had "eats" as an option.

tkuhn avatar Nov 28 '23 13:11 tkuhn

That's the template that the user of the nanopublication above (http://purl.org/np/RA7rvl83o5zWgX7xANozswLg2EQy9EpDDsZ-nACu2OYkc) used to publish it: https://nanodash.petapico.org/publish?template=http://purl.org/np/RAh16oLqLJKo8I8R2CebR1n8Dwv95KL_H-azFfGt2FGW0

tkuhn avatar Nov 28 '23 13:11 tkuhn