-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mapping to existing RDF ontologies (e.g. Schema.org) #94
Comments
So as it would optimally work, in my head, is like this: somewhere under an AD sub-domain, there are AD proxies for .. the 100 most common RDF/OWL ontologies out there. https://github.com/schemaorg/schemaorg/blob/main/data/schema.ttl would be fed into a script (
|
To start brainstorming ideas for how to practically go about getting there,
|
Some ideas on how to tackle nr. 4 (assuming you're using schema.org as ttl source, and prefer writing stuff in Rust). So consider these following as substeps.
|
I did some initial research for lists of ontologies,
|
Perl-based RDF libraries commonly use one of these methods for stable references to ontologies: Since it sounds like you want to restrict by certain qualities (e.g. "OWL-based", or "reasonably popular"), I suggest that you do b) - and then if it turns out that prefix.cc does not cover some ontologies you fancy, then there is nothing stopping you from changing the rules of your curating to include non-prefix.cc ontologies (but also you might then consider simply registering your pet ontologies at prefix.cc and just bump your fixed fime to a moment after your registration) |
All of prefix.cc is currently ~3000 ontologies. The perl module RDF::NS::Curated provides a curated set of ~65 ontologies (as I recall it is simply "the most popular at prefix.cc at the time" but if curious you/I can simply ask Kjetil). |
ohhh perfect, thank you Jonas! :-) |
I applied for funding for doing this on my own about a year ago with NLnet and got refused somewhen in Q1 this year. I still very much would like to have this mapping capability. |
@joepio Do you have an idea for how to write an RDF ontology so that it would be easily and future-fully mappable to AD, Thinking of: things to avoid using in RDF, and maybe extra properties to favor using or to be used on all classes/properties in the ontology . I guess the main thing would be the validation/data-type part.. right? |
Good question @hoijui! I think most RDF ontologies / shacl shapes should be mappable to Atomic Data. Some things to keep in mind:
|
what about the data validation... would AD data validation map to SHACL, or an RDF property specially made for this (e.g. (something went wrong with the link in your comment) |
This gives some hints, I guess: So language tags working differently... is that really an issue when they are used, when there is software (the code doing the mapping) in-between? |
Fixed the link! Yeah gotcha. I think we can probably map pretty much everything at some point, like, we can always fall back to the 'string' datatype. |
ok.. I guess.. I'll not do anything special for now then. |
gotcha :) |
Existing RDF ontologies have some problems that Atomic Data solves:
Read more about atomic & rdf.
But there are many ontologies in existence, and these describe various domains quite accurately. It would be great if we could still get the benefits of atomic data, without losing the information stored in these existing ontologies.
Some thoughts / challenges:
subClassOf
ordistinctFrom
.Implementation
Add
original-url
property to Property classThis
original-url
would be the URL of the RDF predicate.When serializing to RDF, we could opt in to use this URL.
Inversely, when importing RDF, we could search for Properties having that predicate as original URL, and conform to the atomic data constraints (namely, they must resolve to JSON-AD properties)
However, this would come with a challenge. If a server has multiple
Properties
with the sameoriginal-url
value, the server can't decide which one should be used. Malicious agents might even inject resources in the Server to mess up mappings.If we have an explicit mapping resource, we can prevent this.
Mapping resource
A resource that contains a bunch of mappings. This can be referred to while importing RDF.
see lenses #102
Credits to @hoijui for sharing many ideas on this topic
The text was updated successfully, but these errors were encountered: