Giter Club home page Giter Club logo

Comments (5)

matentzn avatar matentzn commented on June 29, 2024

Mid term solution: https://github.com/INCATools/semantic-sql/pull/77/files (this means these specific IRIs wont show up as invalid after the next OBO OAK release).

Please bring this issue to @cmungall attention.

from ontology-access-kit.

cmungall avatar cmungall commented on June 29, 2024

See also #688

In general the provider of upstream sources should try and provide prefix mappings such that the number of uncontracted URIs is minimal

I realize that this is harder than it should be for sql sources, due to the way semsql prefixes work. I apologize for this, and there will be a fix in place when we move away from rdftab. See INCATools/semantic-sql#41.

Even with this fix in place, there will inevitably be cases where URIs cannot be contracted (again, the number now is artifically high). In these cases we need to decide on the correct behavior:

  1. throw error
  2. treat URIs as if they are CURIEs (potentially renaming CURIE type to IDENTIFIER)
  3. Quote URIs to discriminate them from CURIEs (note: this is currently the behavior of the semsql adapter, but it's not the behavior of the rdf adapters, this inconsistency is confusing for users)

I tend towards 3. I think this was @joeflack4's instincts with #688. However, I would do it this way:

  1. rename CURIE to IDENTIFIER, such that this is used universally in signatures. This will be a large diff, but it will not affect runtime
  2. Formally define this as IDENTIFIER = CURIE | QUOTED_URI. Again, this is typing information that does not affect runtime, but it helps make the intentions clear

We would also need a PR to change the default behavior of the rdf adapter

from ontology-access-kit.

joeflack4 avatar joeflack4 commented on June 29, 2024

On the typing front, I approve of the IDENTIFIER proposal.

from ontology-access-kit.

matentzn avatar matentzn commented on June 29, 2024

For completeness, there is also this option: ignore triples with entities that cannot be contracted and print a warning during semsql.

For programmatic usage its always going to be a bit annoying to have to distinguish between CURIE and "something else" based on some syntactic convention but I guess the "quote" solution is alright. Its not much different tbh the the <> situation we have right now, but at least we don't have to use a.replace('<','') anymore.

Maybe not a decision for Chrismtas period

from ontology-access-kit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.