Skip to content

Conversation

marksem
Copy link
Collaborator

@marksem marksem commented Jan 26, 2020

Fixes #153

Had to do 1 re-serialize commit first, so that the "real" changes would be easy to see. See latter 3 commits for the actual changes. Note that the fix to labeling property goal was to fix the fact that it was a typo in the Artifact restriction.

(And correct its superclass)
'goal' showed up as a property with no label b/c it was never
meant to be a property. it was a typo. correct the real problem
Fix it in 1 place, gistTop, which all others will import
Copy link
Collaborator

@sa-bpelakh sa-bpelakh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll need to mention the goal/hasGoal change in the restriction in the release notes, since it is functionally different (even though it just corrects an obvious problem, so still patch-level).

@marksem
Copy link
Collaborator Author

marksem commented Jan 26, 2020

Yes @sa-bpelakh . I guess when we know which commits/PRs make the cut for the next release, and we have a release branch for it, we'll need to edit the OntologyFiles/ReleaseNotes.txt file on that branch with the appropriate notes. @rjyounes , perhaps that needs a place in some release checklist you may be developing for SA?

@DanCarey404
Copy link
Contributor

DanCarey404 commented Jan 27, 2020 via email

@rjyounes
Copy link
Collaborator

rjyounes commented Jan 27, 2020

@DanCarey404 I am copying your comment to #20, which is where the original discussion took place.

Let's move the discussion to that issue.


<owl:Class rdf:about="&gist;ControllerType">
<rdfs:subClassOf rdf:resource="&gist;Category"/>
<rdfs:label rdf:datatype="&xsd;string">Controller type</rdfs:label>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is a bit confusing, but on careful inspection, on each commit, its fine.

</owl:Class>

<owl:Class rdf:about="&gist;Equipment">
</owl:Class>

<owl:Class rdf:about="&gist;MessageDefinition">
<rdfs:subClassOf rdf:resource="&gist;SchemaMetaData"/>
<rdfs:label rdf:datatype="&xs;string">Message Definition</rdfs:label>
<rdfs:comment rdf:datatype="&xs;string">Each pulse from a Sensor is reflected in a message, as well as each instruction to an Actuator</rdfs:comment>
<rdfs:label rdf:datatype="&xsd;string">Message Definition</rdfs:label>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gist has always used xs not xsd. Making this change should not be done here. It should be first put up as an issue to discuss, and if approved, make the change across all files.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The serializer changed it. Or protege. I fought with it for a while, but then decided to do the format change as 1 commit, and the real fixes next, as otherwise I was at an impasse. The reformat should be a 1 time thing if we use the same serializer going forward.

Copy link
Contributor

@uscholdm uscholdm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should not be changing xs to xsd here. Should be raise as an issue and go through normal process. All gist files have always used xs, not xsd. We can decide to change that if we wish.

@rjyounes
Copy link
Collaborator

I find this a strange point. The use of a prefix is file-based and has no formal significance. It could be called xyz as long as it points to the right URI. The prefix itself has no consequence and no semantic value. xsd seems to me to be more commonly used.

@sa-bpelakh
Copy link
Collaborator

It's primarily convention, right? If I am going to edit the file, I don't want to have to scroll back to the prefix declarations for commonly used namespaces. I could name rdf: and owl: as foo: and bar:, respectively, but it would result in confusion. We should pick one for xs vs xsd and be consistent with it. I have always used xsd (and platts-ontology uses it throughout), but I am OK either way. The actual W3C standard (https://www.w3.org/TR/xmlschema11-1/#xsd-namespace) uses xs:.

@rjyounes
Copy link
Collaborator

I've always used xsd as well. Interesting that the standard uses the prefix xs when the uri itself has "xsd-namespace."

@sa-bpelakh
Copy link
Collaborator

¯\_(ツ)_/¯

@uscholdm
Copy link
Contributor

I also prefer xsd.

@rjyounes
Copy link
Collaborator

@sa-bpelakh At first I thought that was a pushme-pullyou (are you familiar with Dr Doolittle?), which would have been equally applicable.

@rjyounes
Copy link
Collaborator

Anyway, I agree with @uscholdm that we should raise this as a separate issue and have created one: #158. @marksem should change the prefixes back.

@rjyounes
Copy link
Collaborator

@marksem Re release notes: Boris is responsible for these as he is our release facilitator for the January release. We probably want to come up with a template for these at some point.

@rjyounes
Copy link
Collaborator

rjyounes commented Jan 28, 2020

I'd like to propose the following so we can merge this PR:

  1. Use Mark's current labels and resolve this matter in the discussion of Update all labels according to a standard convention #20.
  2. Restore xs: prefix and defer to issue Change prefix xs to xsd throughout #158.

Apparently it was rdf-toolkit that changed the prefix, so if we're going to use it we have to opt for xsd. How did we avoid that in the past?

@uscholdm
Copy link
Contributor

I'm happy with @rjyounes 's suggestion.
I doint think the serializer changes the prefix. We use .xsd for PLEO.

@rjyounes
Copy link
Collaborator

The reason I suspected the serializer was that the prefix changes occurred in the commit that was only reformatting with the serializer. PLEO files are ttl; I wonder if the serializer behavior is different between the file types. It seems unlikely but I don't know how else to explain it.

@marksem
Copy link
Collaborator Author

marksem commented Jan 28, 2020

@marksem should change the prefixes back.

For pragmatic reasons, I disagree. It is now in the form that serializer wants. And that form uses xsd, our preferred ns. To put it back means more maintenance next time. We need to be avoiding changes that add maintenance time.

@rjyounes rjyounes added effort: low Requires less than half a day to complete impact: patch No new functionality or changes in human-readable semantics (e.g,. fixing a typo in an annotation) labels Jan 28, 2020
@rjyounes
Copy link
Collaborator

rjyounes commented Jan 28, 2020

Technically we have enough approvals to merge, but I don't want to act by fiat. We should be able to merge this and continue the discussion of label formats in issue #20.

Copy link
Collaborator

@rjyounes rjyounes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@marksem There are merge conflicts because the changes from Steve's recent PR, which has been merged to develop, need to be pulled in. His were all typos that I assume you can just accept. Once this is done I'll approve and merge.

Copy link
Collaborator

@sa-bpelakh sa-bpelakh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

<rdfs:label rdf:datatype="&xsd;string">Area</rdfs:label>
<rdfs:comment rdf:datatype="&xsd;string">A measurement of two-dimensional space.</rdfs:comment>
<owl:equivalentClass>
<owl:Class>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So the transition I am seeing in several places here from

gist:SomeClass owl:intersectionOf ( FirstClass, SecondClass ) .

to

gist:SomeClass owl:equivalentClass [
  a owl:Class; 
  owl:intersectionOf ( FirstClass, SecondClass ) .
]

Is it because the original declaration was never compliant and we are fixing it? Or are both forms valid and we are just choosing a preferred form?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC there are a bunch of these owl:intersectionOf constructs in gist that the old E6 tool wrote out that way but that Protege will rewrite into owl:equivalentClass (as above).
We (devs) tried to decide if the OWL spec requires it or not. I'd be interested in a more official answer from anyone that wants to go interpret the OWL spec.

@rjyounes rjyounes merged commit 9b2a2b3 into develop Jan 29, 2020
@rjyounes rjyounes deleted the issue153 branch January 29, 2020 19:48
@rjyounes
Copy link
Collaborator

Fixed merge conflicts. Will address formatting of label in #20.

@rjyounes
Copy link
Collaborator

@Jamie-SA @sa-bpelakh I've had Protégé play this trick on me as well. It seems like the simpler version should be valid OWL and that the other is more verbose than necessary. Another reason not to like Protégé.

@uscholdm
Copy link
Contributor

If possible, just do what the serializer does. What Protégé or E6 do should not matter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: low Requires less than half a day to complete impact: patch No new functionality or changes in human-readable semantics (e.g,. fixing a typo in an annotation)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add missing labels
6 participants