geneontology / obographs

Basic and Advanced OBO Graphs: specification and reference implementation
63 stars 12 forks source link

obographs should distinguish between annotationProperty, objectProperty & dataProperty #65

Closed dosumis closed 8 months ago

dosumis commented 4 years ago

Current specification for node types has only:

                "type" : {
                  "type" : "string",
                  "enum" : [ "CLASS", "INDIVIDUAL", "PROPERTY" ]
                },

I guess that changing this enum now to distinguish OP, AP & DP is not possible as it would be a pretty major breaking change. Would it be possible instead to add a property_type key with enum:

["annotationProperty", "objectProperty", "dataProperty"]

?

(I'm sure I requested this several years ago, but not sure where - can't find ticket)

dosumis commented 4 years ago

Use case: loading neo4j property graphs to allow subsequent conversion to OWL.

cmungall commented 1 year ago

Notes from call between @julesjacobsen and myself. We agree with the proposal. We will add property_type on Node. This will only be filled if node.type == "PROPERTY".

To be consistent with existing conventions the permissible values should be ANNOTATION, OBJECT, DATA

julesjacobsen commented 1 year ago
Prefix(:=<http://www.semanticweb.org/matentzn/ontologies/2021/11/untitled-ontology-544#>)
Prefix(owl:=<http://www.w3.org/2002/07/owl#>)
Prefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Prefix(xml:=<http://www.w3.org/XML/1998/namespace>)
Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)
Prefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>)

Ontology(<http://www.semanticweb.org/matentzn/ontologies/2021/11/untitled-ontology-544>

  Declaration(Class(<http://purl.obolibrary.org/obo/upheno/workshop2021/TMP_0000059>))
  Declaration(AnnotationProperty(<http://purl.obolibrary.org/obo/upheno/workshop2021/TMP_0000060>))
  Declaration(ObjectProperty(<http://purl.obolibrary.org/obo/upheno/workshop2021/TMP_0000061>))
  Declaration(DataProperty(<http://purl.obolibrary.org/obo/upheno/workshop2021/TMP_0000062>))
)

becomes

---
graphs:
- id: "http://www.semanticweb.org/matentzn/ontologies/2021/11/untitled-ontology-544"
  nodes:
  - id: "http://purl.obolibrary.org/obo/upheno/workshop2021/TMP_0000059"
    type: "CLASS"
  - id: "http://purl.obolibrary.org/obo/upheno/workshop2021/TMP_0000061"
    type: "PROPERTY"
    propertyType: "OBJECT"
  - id: "http://purl.obolibrary.org/obo/upheno/workshop2021/TMP_0000062"
    type: "PROPERTY"
    propertyType: "DATA"
  - id: "http://purl.obolibrary.org/obo/upheno/workshop2021/TMP_0000060"
    type: "PROPERTY"
    propertyType: "ANNOTATION"