Skip to content
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

Establish and document RDF vocabulary #1

Open
cmutel opened this issue Mar 14, 2019 · 9 comments
Open

Establish and document RDF vocabulary #1

cmutel opened this issue Mar 14, 2019 · 9 comments
Labels
deliverable help wanted Extra attention is needed

Comments

@cmutel
Copy link
Contributor

cmutel commented Mar 14, 2019

Quoting from email from @bkuczenski

Within the BONSAI namespace, create new signifiers for the collections
between which the correspondence is made, like

FAO_products rdf:type skos:Collection
EXIOBASE_products rdf:type skos:Collection

Then for each row in the example, create a signifier and assign its label

FAO_Agave_fibres_nes skos:member FAO_products
FAO_Agave_fibres_nes rdfs:label "Agave fibres nes"

Similarly for each column:

EXIOBASE_plant_based_fibres skos:member EXIOBASE_products
EXIOBASE_plant_based_fibres rdfs:label "Plant-based fibres"

Then add the relationship

FAO_Agave_fibres_nes skos:closeMatch EXIOBASE_plant_based_fibres

To make life easier for most of us, we should also list explicitly which terms we are using, how to create bontology (bonsai ontology, anyone? bueller? bueller?) URIs, and how to format citation data.

@cmutel
Copy link
Contributor Author

cmutel commented Mar 14, 2019

The RDF vocabulary is our way of not reinventing the 1-N/N-1/M-N wheel.

@mfastudillo
Copy link
Contributor

will we have somebody in the room with the knowledge to do this? I am completly new to RDF.

@bkuczenski says its outside his of expertise, I hope he is just being modest! And in any case, he will be connecting remotely "9h behind".

@bkuczenski
Copy link

bkuczenski commented Mar 25, 2019

The W3C has this to say: Generating RDF from Tabular Data on the Web
Since it is written by a standards organization, the document is almost unreadable.
But one thing is clear: there is no magic way to determine the predicate for an RDF triple derived from a given CSV cell- either it has to be specified in metadata or it has to be determined by hand (or a placeholder is used). This is why it is tricky to talk about using RDF in the absence of a well-defined ontology. The Protege software is an ontology editor, and I think there are plugins that allow you to work with actual data in the context of a working ontology. But IMO it scarcely makes sense to write RDF without an ontology.
See also LinkedPipes software which seems to be more for working with data

@bkuczenski
Copy link

bkuczenski commented Mar 25, 2019

It should also be said: the advantage to RDF with a working ontology is that you can use the rules of the ontology to reason about your data. So the degenerate approach of just creating empty RDF with placeholder predicates does not accomplish much- it is only when you actually link to meaningful knowledge models that you get to say things like "find me processes for producing four-lobed grains" which, if your database were linked into the crop ontology vocabulary, would maybe have a chance of actually working.

@mfastudillo
Copy link
Contributor

mfastudillo commented Apr 2, 2019

@cmutel when you talk about documenting the RDF vocabulary in the README, would it be adding something like this table?

term when is it used example
OWL.sameAs used for exact match between taxonomies brdf:Chemical-Structure.274 owl:sameAs chemrdf:Chemical-Structure.274.rdf

what is exactly the purpose? if it is to explain why we choose a predicate and not another one... that takes more than a table and I would create a separate document explaining the choices. @bkuczenski any thoughts?

(note that I am not aware of rdf jargon and I am probably using incorrect names)

@cmutel
Copy link
Contributor Author

cmutel commented Apr 2, 2019

Yes, exactly, though it doesn't have to be quite so structured - just put it in the main README to make it easy to find, and to standardize on a list of verbs to use (e.g. I don't understand when to used OWL versus SKOS).

The idea is a) pick a standard set of verbs that we will all use, and b) to make it easy for people who aren't RDF experts to start applying RDF concepts by putting them in CSVs.

@kuzeko
Copy link

kuzeko commented Apr 2, 2019

Re: How SKOS and OWL work together:
https://www.w3.org/2006/07/SWD/SKOS/skos-and-owl/master.html
I have yet to read it though... ^_^'

@mfastudillo
Copy link
Contributor

b) to make it easy for people who aren't RDF experts to start applying RDF concepts by putting them in CSVs.

I'd create a bit more didactic markdown file with more details of why we choose one predicate or the other. Actually we used the predicate that @kuzeko told us to use, but I would not be able to justify the choice. This document would be referenced in the readme. What do you think?

@mfastudillo mfastudillo added deliverable help wanted Extra attention is needed labels Apr 3, 2019
@kuzeko
Copy link

kuzeko commented Apr 3, 2019

It seems a good idea, I can help you revise the document and add the necessary explanation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deliverable help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants