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

Add a Ontology-Class for every Shape into the ontology.ttl #57

Open
robertschubert opened this issue Jun 14, 2024 · 7 comments
Open

Add a Ontology-Class for every Shape into the ontology.ttl #57

robertschubert opened this issue Jun 14, 2024 · 7 comments

Comments

@robertschubert
Copy link
Collaborator

Current situation:
We have Shapes in our *_shape.ttl which have a targetClass set but this is not defined in the ontology file.

Example:
hdmap_shacl.ttl has a DataSourceShape which points to a DataSource via targetClass:

hdmap:DataSourceShape a sh:NodeShape ;
    sh:property [ skos:example "3DMS system, Trimble xyz, Riegl xyz" ;
            sh:datatype xsd:string ;
            sh:description "Main acquisition device"@en ;
            sh:maxCount 1 ;
            sh:message "Validation of measurementSystem failed!"@en ;
            sh:name "measurementSystem"@en ;
            sh:order 1 ;
            sh:path hdmap:measurementSystem ],
        [ skos:example "scanner, camera, osm network, aerial images, ..." ;
            sh:datatype xsd:string ;
            sh:description "Basic data for the creation of the map"@en ;
            sh:message "Validation of usedDataSources failed!"@en ;
            sh:name "usedDataSources"@en ;
            sh:order 0 ;
            sh:path hdmap:usedDataSources ] ;
    sh:targetClass hdmap:DataSource .

But the class DataSource is not defined in the hdmap_ontology.ttl file. Only HdMap is defined as a class

Target situation
For every shape defined in a *_shape.ttl file there should be an OWL class in the *_ontology.ttl file. Note that this nested class does not have to derive from 'DataResource' since it is not a class used at top level as HdMap for example.

Example for given DataSourceShape (please find good labels and comments):
Add a DataSource OWL class to the ontology.

hdmap:DataSource a owl:Class ;
    rdfs:label "class definition for a DataSource" ;
    rdfs:comment "Attributes for DataSource of a HdMap"@en .

@ALL (CODEOWNERS): Please comment if you want to do in in one branch or one branch per directory.

@jdsika
Copy link
Contributor

jdsika commented Jun 14, 2024

Sounds like a plan to do it in one

@jtdemer
Copy link
Collaborator

jtdemer commented Jul 3, 2024

Isn't it more efficient if we do it in one branch?
And then assign all CODEOWNERS in the pull request for review?

@robertschubert can you do it or delegate it to another expert?

@lenasauermann
Copy link
Contributor

@jtdemer I'm on it / did it already. There currently is a pull request open for this

@lenasauermann
Copy link
Contributor

#73

@lenasauermann lenasauermann mentioned this issue Jul 5, 2024
3 tasks
@robertschubert
Copy link
Collaborator Author

robertschubert commented Jul 25, 2024

merged #73 , thanks @lenasauermann for preparing the PR.

But I found out after the change for environment-model is missing.
@MircoNierenz Could you as a code owner please add the classes? Then we can close this Issue

@lenasauermann
Copy link
Contributor

@MircoNierenz Is this done?

@robertschubert
Copy link
Collaborator Author

FYI (all)
I added a CI check that checks if every targetClass in a SHACL shape exists in the ontology (as owl class).
If not, the pipeline fails.
PR is #107 (already merged)

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

9 participants