white-gecko opened a new issue, #75977:
URL: https://github.com/apache/airflow/issues/75977

   ### Description
   
   I'm working with a data orchestration pipeline using Apache Airflow where 
DAGs are triggered by Assets that correspond to RDF vocabulary terms. Our 
assets use fragment URIs (e.g., https://example.org/vocab#JobA, 
https://example.org/vocab#JobB) to align with an existing semantic web 
vocabulary. In the documentation it says:
   
   > Airflow makes no assumptions about the content or location of the data 
represented by the URI, and treats the URI like a string. 
   > 
(https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/assets.html#what-is-an-asset)
   
   However, I've observed that Airflow's Asset implementation strips fragment 
identifiers from URIs, causing multiple distinct assets with the same base URI 
but different fragments to conflict.
   
   **Current Behavior:**
   In the Airflow codebase, fragment URIs appear to have their fragment 
component removed when assets are registered. This means 
https://example.org/vocab#JobA and https://example.org/vocab#JobB are treated 
as the same asset (using only the base URI https://example.org/vocab).
   
   Question: Is there a specific technical reason why fragment URIs are not 
supported in Airflow Assets?
   
   ### Use case/motivation
   
   We have a workflow where:
   - RDF triples define job statuses and asset states using fragment URIs
   - DAGs should trigger based on these same assets
   - Maintaining URI consistency between our RDF vocabulary and Airflow Assets 
would improve traceability and reduce mapping complexity
   
   ### Related issues
   
   The relevant line is: 
https://github.com/apache/airflow/blob/5761c2ac1eae10fc3c7662e0527ff5a1ab9129dc/task-sdk/src/airflow/sdk/definitions/asset/__init__.py#L181
   
   ### Are you willing to submit a PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to