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

ERA principles not followed for naming of properties #2

Open
MathiasVDA opened this issue May 31, 2023 · 4 comments
Open

ERA principles not followed for naming of properties #2

MathiasVDA opened this issue May 31, 2023 · 4 comments

Comments

@MathiasVDA
Copy link
Contributor

Some object properties have a name and URI that are easily confused with class names. Some examples:

The ERA principles state that:
* For properties, a verbal form (or adjective) and the initial character is lowercase

This is clearly not the case. Could the vocabulary be refactored to have consistent URI's for the properties that conform with the principles?

In general, I would also recommend to compare the era-principles with the gist style guide.

@ocorcho
Copy link
Contributor

ocorcho commented Jun 2, 2023

Indeed, these were legacy terms that were inherited from the very early versions of the vocabulary, but their change had lots of implications in many different components related to routing and the Route Compatibility Check application, as well as during the knowledge graph generation process, hence we decided to keep them at least for the initial release of all applications.

This will hence be dealt with later.

@sixdiamants
Copy link

This issue likely originates from the source KG that was generated from a UML model (visible on the RSM site).

Tangent to this, the KG that UIC generated from the UML may need revamping to meet recently published guidelines that appear to underpin SEMIC guidance from the EC. Notably, there's the OSLO UML Transformer.

At present, I'm looking at how the EULYNX Data Prep model, a treasure trove for railway signalling concepts, should map to a KG. One issue that probably merits closer analysis is the representation of enumerations aka codelists in terms of skos:conceptScheme as defined in the modelling rules published here, see p. 68-69.
Regards, Bob Janssen

@VladimirAlexiev
Copy link
Contributor

@MathiasVDA, @gatemezing @, @Interoperable-data, @ocorcho

  • So you are saying to use eg hasElementPart, isElementPartOf ?
  • I vote to keep them shorter and as is, eg elementPart, elementPartOf.
    AKSW ontologies very often use prop names that are the same as the range (target class), and I like that convention.
    There is no fear of confusing class with property since the class starts in uppercase and the property in lowercase.
  • So I vote to change that aspect of the ERA principles, rather than change the Ontology

Volumetrics:

  • ERA 3.0.1 has 501 props.
  • Of them 39 have prefix "has/is"
  • Of those 30 are boolean, and only 9 are non-boolean props
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX era: <http://data.europa.eu/949/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select * {
    values ?type {rdf:Property owl:ObjectProperty owl:DatatypeProperty}
    ?x a ?type
    filter(strstarts(str(?x),str(era:)))
    filter(regex(str(?x),"/(is|has)"))
    # optional {?x rdfs:range ?range}
    filter not exists {?x rdfs:range xsd:boolean}
}

@MathiasVDA
Copy link
Contributor Author

I really support the ERA principles as they are now. I think you should be able to read triples pretty much as a sentence.

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

4 participants