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

Re-align diverged branches for ro.owl #13

Open
stain opened this issue Dec 28, 2015 · 13 comments
Open

Re-align diverged branches for ro.owl #13

stain opened this issue Dec 28, 2015 · 13 comments

Comments

@stain
Copy link
Contributor

stain commented Dec 28, 2015

Raised by @rapw3k by Skype 2015-12-28

on https://github.com/wf4ever/ro we have two branches, master and gh-pages.

The initial idea was that master was active development, and gh-pages was the published one - as they appear on http://wf4ever.github.io/ro/ - which is what the namespace http://purl.org/wf4ever/ro/ and the permalink https://w3id.org/ro/ links to.

The purl http://purl.org/wf4ever/ro/ redirects via @dgarijo's server http://rohub.linkeddata.es/rospec/ro which does content-negotiation for HTML - and serves RDF via http://rohub.linkeddata.es/rospec/ro-content/ro.owl which seems to be the snapshot of ro.owl from master -- not current 0.1 from gh-pages.

The latest version http://wf4ever.github.io/ro/ and http://wf4ever.github.io/ro/2013-11-30/ says

  1. OWL versions

The v0.1 RO ontologies can be found on github as OWL/Turtle format:

https://raw.github.com/wf4ever/ro/0.1/ro.owl
https://raw.github.com/wf4ever/ro/0.1/wfdesc.owl
https://raw.github.com/wf4ever/ro/0.1/wfprov.owl
https://raw.github.com/wf4ever/ro/0.1/wf4ever.owl
https://github.com/wf4ever/ro/blob/master/ore-owl.owl (OWL-version of OAI-ORE vocabulary)

Some issues:

  • File format changes - master initially had an ro.owl in Turtle format, while the published gh-pages had RDF/XML
  • git divergence - some new ontologies like roevo were added straight to gh-pages and don't exist on master
  • Unreleased changes to ro.owl (and roterms.owl ?) - these didn't make it into https://w3id.org/ro/2013-11-30/ and are not documented in the HTML
  • RO Model 1.0 (the big unified document) describes version 0.1 of the ontologies.

This should be aligned so we are clear about what is the current published version, and what is the current development model for any changes. We should also publish a new version if we have any changes to fix.

To compare changes I would need to compare by the sorted N-Triples I think, as the RDF/XML saved from Protege dances about on every commit.

Daniel has also made http://researchobject.github.io/specifications/ro/ and friends as a new way to generate the HTML using his Widoco ontology documentation tool - but so far we have not updated anything to point to this. Perhaps @dgarijo could update us on the current status here - I believe it also needs a property file with the additional documentation to inject. We sure don't want to have 3 diverged "masters"! :)

I will investigate further on the ro.owl differnces, and then have a chat with @rapw3k on 2015-12-28 about this. Would you like to join, @dgarijo ?

@rapw3k
Copy link
Contributor

rapw3k commented Dec 28, 2015

Thanks Stian, indeed master branch and gh-page branch have evolved separately and now some of our ontologies have quite some differences. Btw regarding divergence, roevo is in both branches, while roterms exists only in master.

In summary, the ones with major changes are:

  • ro.owl (mainly adoption of Open Annotation instead of Annotation Ontology)
  • wfdesc.owl (some conceptual changes)

Additionally,

  • wf4ever.owl has been extended substantially in master.
  • wfprov.owl has been slightly extended in master
  • roevo.owl has few changes
  • roterms.owl only exists in master

I will add one comment per each ontology so we can discuss each individually.

Additionally,

Btw, our chat would be the 06.01.16 :)

@rapw3k
Copy link
Contributor

rapw3k commented Dec 28, 2015

In ro.owl, gh-pages has the original v0.1 while master has an updated version that adopts Open Annotation instead of Annotation Ontology, as the result of the update of the annotation model.
The changes are necessary to be compliant with the latest version, however there are few things we need to consider, especially to (i) enable backward compatibility with existing Research Objects; (ii) enable backward compatibility with existing APIs and applications; (iii) avoid conflicts with other ontologies that extend the ro core (e.g., roevo).
The main changes I see are:


v0.1 (gh-pages) defines:
ro:annotatesAggregatedResource subclassof oa:annotatesResource
master now defines:
oa:hasTarget equivto ao:annotatesResource

Issues:

  • Existing Research Objects annotations (and API) use ro:annotatesAggregatedResource for the target.
    wouldnt be easier to redefine ro:annotatesAggregatedResource subpropertysof oa:hasTarget? -- Agreed (see below)
  • roevo uses oa:annotatesResource -> should be replaced by oa:hasTarget (no problem)

———
v0.1 (gh-pages) uses:
ao:body
master now uses:
oa:hasBody
and defines ao:body equivto oa:hasBody

Issues:

  • Existing Research Objects annotations (and API) use ao:body, but we can use inferencing)
  • With the equivalent shouldnt be a problem to update API

———
v0.1 (gh-pages) uses:
ao:Annotation
ro:AggregatedAnnotation subclassof ro:SemanticAnnotation subclassof ao:Annotation
master now uses:
oa:Annotation
ro:Annotation subclassof oa:Annotation

Issues:

  • Existing Research Objects (and API) use annotations rdf:type ao:Annotation & rdf:type ro:AggregatedAnnotation; and now should be rdf:type oa:Annotation & rdf:type ro:Annotation

can we define oa:Annotation equivto ao:Annotation? ---> agreed subclassing see below

in any case ro:AggregatedAnnotation will be no longer valid...., suggestion? e.g., define ro:Annotation equivto (deprecated) ro:AggregatedAnnotation --- agreed solution to rename (see below)


TODOs (Stian):

  • Remove import dct, add definedby
  • Remove oa import, add definedby, including class oa:Annotation, oa:annotatesResource, oa:body
  • redefine ro:annotatesAggregatedResource (deprecated?) subpropertyof oa:hasTarget
  • ro:AggregatedAnnotation subclass of both oa:Annotation & rdf:type ro:Annotation
  • rename again ro:annotation to ro:aggregatedannotation
  • add proper metadata, authors, contributors, title, description, versioning info, prefered namespace prefix, prefered namespace URI, license, previousversion, modified

@rapw3k
Copy link
Contributor

rapw3k commented Dec 28, 2015

in wfdesc.owl there are some conceptual changes that need to be more careful agreed, specially as many tools/API use the model (RO API, WF-RO, checklist, etc.)

I see the definition of new classes (i have not seen all of them):

  • WorkflowDefinition
  • ProcessImplementation

At the moment we use Workflow for the type associated to the resources like t2flow files, as well as for describing the particular workflow in the t2flow, etc.
I think changing this would be more painful as many tools/API depend on it already. -- Agreed its useful and already used in implementations of taverna, wf-ro transformation service


Independently of the above, the names workflowDefinition for subclassof processImplementation are not so intuitive. Why not using WorkflowImplementation as the superclass?


TODOs

  • metadata
  • remove wfdesc:description (it was accidentally used in taverna, and in WF-RO transformation service)

@rapw3k
Copy link
Contributor

rapw3k commented Dec 28, 2015

In roevo.owl basically the difference is the import of prov in master (and removing declaration of prov entities) that is still in gh-pages. The rest seems the same (I think i left it on purpose but we need to decide).
I usually try to avoid full imports but this can be debatable...


TODOs

  • metadata
  • add isdefinedby

@rapw3k
Copy link
Contributor

rapw3k commented Dec 28, 2015

In wf4ever.owl in master there are many more definitions we agreed at the end of the project, so I believe this is the most complete now. I made several changes in the master version...


TODOs

  • metadata
  • release the master (problem is that purl is going directly to github)

@rapw3k
Copy link
Contributor

rapw3k commented Dec 28, 2015

Wfprov, only few addition in master:

  • interactedWith (object prop)
  • wasInitiatedBy (object prop)
  • durationInSeconds (data prop)

which i think are more complete, so gh-pages is outdated.


TODOs:

  • metadata
  • release master

@rapw3k
Copy link
Contributor

rapw3k commented Dec 29, 2015

roterms is generally fine. I made several changes towards the end of wf4ever which are there, and there are few more recently from Stian.


TODOs

  • nothing -> roterms is only one (in master) and the latest version is released, the problem is that roterms cannot be modified anymore.

@dgarijo
Copy link
Contributor

dgarijo commented Jan 8, 2016

Hi Stian, Raul. Thanks for starting this!!
I think the alignment is necessary as well. If you point me to the latest files for ro, wfprov, wfdesc and roevo, I will be happy to update the documentation and content negotiation on our servers.

@dgarijo
Copy link
Contributor

dgarijo commented Jan 17, 2016

Hi again. Can someone please point me to the latest owl files? That way I can regenerate the doc + content negotiation

@stain
Copy link
Contributor Author

stain commented Jan 18, 2016

The OWL files in master of https://github.com/wf4ever/ro/tree/master are the most up to date - however they are not officially released so the version information there is misleading - they are no longer "1.0" - but "1.1" perhaps.

So I think we just need to verify the changes that @rapw3k mentions here are OK (I think they should be), and then assign proper version numbers and tags, which would be reflected in the regenerated docs. We should follow Semantic Versioning - so I think bumping the minor should be sufficient if we just add terms.

I agree we need to look closer at the WorkflowDefinition and ProcessImplementation split - this is something we discussed towards the end of Wf4Ever as a possibility, but it might be a step too far in abstractions - we don't want to deliberately introduce incompatibility with existing tools.

Should we try to arrange a Skype call, @dgarijo and @rapw3k ? Sorry for missing earlier attempt.. but it's been a bit hectic starting up this year. I can do most of Monday, Wednesday, Thursday or Friday afternoon. When is good for you?

@rapw3k
Copy link
Contributor

rapw3k commented Jan 19, 2016

Hi!
@dgarijo I am not sure what do you mean to regenerate in your servers?
As I mentioned, I think we should have only one release of the documentation, the official one, isnt it?

@stain , @dgarijo we can have a telco tomorrow morning if you are available.
cheers,
Raul

@dgarijo
Copy link
Contributor

dgarijo commented Jan 19, 2016

@rapw3k I mean that when you resolve http://purl.org/wf4ever/ro, it redirects to rohub.linkeddata.es/rospec/ro. The content negotiation is performed in that server. Since the purl now cannot be redirected, the new version will be on that server as well. I propose to separate wfdesc, wfprov etc in different documents, in order to make the primer shorter. That would also help in case these ontologies have different versions. I can take the action to do that.

Also, if you guys want to use the w3id Stian created, we should be consistent and change the URIs. However, I prefer to be consistent and continue using the purl.org one.
@stain, I can make it tomorrow morning, but I have to leave by 11:30. I will write an email, in order to avoid discussing this in the issue thread :)

@stain
Copy link
Contributor Author

stain commented Jan 27, 2016

Some useful ontology annotation properties

    <owl:Ontology rdf:about="http://purl.org/wf4ever/roterms#">
        <rdfs:label xml:lang="en">RO terms</rdfs:label>
        <owl:versionInfo rdf:datatype="&xsd;string">0.3.1</owl:versionInfo>
        <dc:creator xml:lang="en">Stian Soiland-Reyes</dc:creator>
        <dc:contributor xml:lang="en">Graham Klyne</dc:contributor>
        <dc:contributor xml:lang="en">Khalid Belhajjame</dc:contributor>
        <rdfs:comment xml:lang="en">The Research Object vocabularies are built on existing popular vocabularies and standards, such as ORE, DC terms, PROV, to cite a few. In addition to terms that we borrowed and adapted from such vocabularies, we defined new terms under the name space roterms.

These new terms serve two main purposes. They are used to specify annotations that are, to our knowledge, not catered for by existing ontologies, e.g., roterms:Hypothesis and roterms:exampleValue. ii) They are also used to specify shortcuts that make the ontology easy to use and more accessible.
</rdfs:comment>
        <owl:versionIRI rdf:resource="https://cdn.rawgit.com/wf4ever/ro/roterms-0.3.1/roterms.owl" />
        <owl:backwardCompatibleWith rdf:resource="https://cdn.rawgit.com/wf4ever/ro/roterms-0.3.0/roterms.owl" />
        <owl:backwardCompatibleWith rdf:resource="https://cdn.rawgit.com/wf4ever/ro/roterms-0.2.0/roterms.owl" />
        <dcterms:modified rdf:datatype="&xsd;dateTime">2015-07-30T14:55:00Z</dcterms:modified>
        <dcterms:issued rdf:datatype="&xsd;dateTime">2015-07-30T15:00:00Z</dcterms:issued>
        <dcterms:license rdf:resource="http://creativecommons.org/licenses/by/4.0/" />
        <dcterms:publisher rdf:resource="http://researchobject.org/" />

    </owl:Ontology>

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

No branches or pull requests

3 participants