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

Review of CSR #1

Open
ashepherd opened this issue May 2, 2020 · 1 comment
Open

Review of CSR #1

ashepherd opened this issue May 2, 2020 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@ashepherd
Copy link

ashepherd commented May 2, 2020

Hi Adam, Rob, Tara and co.!

Really nice work! This would be such a great way to distribute cruise information from operators, scheduling offices, data repositories. Really great! I had a couple questions and a suggestion:

  1. Is it useful in the Ontology to define which fields are required or not? Note sure if this is in fact useful, as maybe what is required is dictated by other authorities? Or if you feel it's out of scope please ignore!

Maybe one useful restriction might be to say that a csr:CruiseSummaryReport requires at least 1 csr:Cruise:

#CruiseSummaryReport a rdfs:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty #describesCruise ;
    owl:allValuesFrom #Cruise
  ], [
    a owl:Restriction ;
    owl:onProperty #describesCruise ;
    owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass #Cruise
  ] ;

While these restrictions don't necessarily validate data, I think they help query writers know when they should use OPTIONAL SPARQL pattern in a query and when they can safely assume not to need it.

  1. Noticed a small spelling error 'scintific' at https://github.com/iodepo/ontologies_vocabularies/tree/master/linked-cruise-summary-reports#cruise

  2. What do you all think about adding a section for Competency Questions? I think they help new folks quickly understand the original intent of the authors, but we've also used them to verify that the model can answer the question (with a SPARQL query).

A couple here might be (total guess on my part!!)

Show me all the Cruise Summary Reports for Cruises on the Celtic Explorer.

SELECT ?report
WHERE {
  ?report a csr:CruiseSummaryReport .
  ?report csr:describesCruise [ csr:undertakenBy <http://vocab.nerc.ac.uk/collection/C17/current/45CE/> ] .
}

What ports has the Celtic Explorer been reported at since 2015?

SELECT DISTINCT ?port
WHERE {
  ?report a csr:CruiseSummaryReport .
  ?report csr:describesCruise ?cruise .
  ?cruise csr:undertakenBy <http://vocab.nerc.ac.uk/collection/C17/current/45CE/> ] 
  VALUES ?atPort { csr:hasStartPortCall csr:hasEndPortCall }
  ?cruise ?atPort ?port .
  ?port csr:hasTimeStamp ?date .
  FILTER (?date >= "2015-01-01"^^xsd:date)
}

These two questions here may be completely irrelevant to the intent of the CSR, and defining your own help readers understand what questions you are hoping to answer when you created the vocabulary.

Here's an example of how we've started to use CQ's in a project predicting flood inundation. https://github.com/UFOKN/Knowledge-Graph/blob/master/COMPETENCY_QUESTIONS.md
References:
https://doi.org/10.1016/j.dib.2019.105098
ISBN: 9783319756813 (Section 9.8.1)

Awesome! Hope to see CSR data soon!

@adamml adamml self-assigned this May 5, 2020
@adamml adamml added the enhancement New feature or request label May 5, 2020
@adamml
Copy link
Collaborator

adamml commented May 5, 2020

@ashepherd Thanks for the comprehensive review.

Cardinality was something I had on my mind to add in as an extension to this. At the moment (and this partially answers your question #3 as well), all we have done is translate the data model for a SeaDataNet/POGO CSR to Linked Data and we'll pick data up bu backing it out of the XML. However, I think it would be important to have this in case people not connected with these initiatives wanted to start building CSRs in RDF.

I like the idea of CQs - but I guess I'm not yet sure what a list of CQs would be for instances of this vocabulary. I like the two you have there, and maybe some investigation on the search interfaces will yield some more.

Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants