Replies: 3 comments 1 reply
-
Important: for yet unknown reasons the recursive entity fetching with Asami's This makes this issue slightly more pressing! |
Beta Was this translation helpful? Give feedback.
-
Important: it's easy to underestimate just how useful these IRI keywords are, especially (exclusively?) for standardized vocabularies such as The code is literally littered with references to SHACL resources such as Of course, RDF4j has its own internal vocabulary mappings, which could solve this issue. Instead of the keyword |
Beta Was this translation helpful? Give feedback.
-
I've given this a long and hard think. Some key insights:
Decision:
|
Beta Was this translation helpful? Give feedback.
-
We use ont-app/vocabulary to have URIs from known standards such as OWL, RDFS, SHACL and SKOS be mapped to Clojure keywords. From a Clojure POV, this is idiomatic and from a developer POV very convenient.
However, there's a catch. If there's no known mapping for a given namespace, the full URI is simply converted to a keyword. Recently it has been discovered though that some of the characters in a URI are not valid when you read the (informal?) Clojure Reader spec.
Work is on the way (in version 0.1.8-SNAPSHOT) to fix this, but it comes at the significant cost of sacrificing the very readability that was the reason to use this is in the first place. And since our non-standardized CURIEs have namespaces that potentially differ over several files, as soon as you merge them (and we do) you no longer know how to resolve the potentially ambiguous CURIEs.
So, I'd like to consider switching to representing URIs using the Java
URI
type:URI
s are supported. This includes recursively fetchingHowever, the developer experience is not to be underestimated, especially in Clojure where continuous feedback from the REPL is a major part of your workflow. To have readable (intermediate) data is very valuable. Perhaps we can think of ways?
Beta Was this translation helpful? Give feedback.
All reactions