Giter Club home page Giter Club logo

Comments (5)

corymosiman12 avatar corymosiman12 commented on May 27, 2024 1

I guess, when I see the uses keyword, this to me translates to: 'has a point of the following type(s)', which I would assume means that this 'thing' should have this 'type of property'. Instead, it becomes a subclass of that thing.

image

Perhaps the confusion comes from the lack of documentation on the uses object property. It seems like this is used to bypass RDFs typical method of defining relationships (defining the domain and range of a relationship), and instead defines that a class is expected to use a field (more typical of like OO practices). Is that a fair characterization?

from digitalbuildings.

charbull avatar charbull commented on May 27, 2024 1

@corymosiman12 you are correct about the lack of documentation on the RDF part it comes from the fact that we wrote an RDF generator which takes as an input the yaml files and generates an rdf file.

Despite the itching to add additional information in the rdf file to make it more inline with the best practices of rdf and owl modelling. We decided not to do that to keep both yaml and rdf at the same level.

We have in the pipe to update the yaml representation to add domains and range on the object property so it can be picked up during the generation from yaml to rdf

Hope that helps.

from digitalbuildings.

tasodorff avatar tasodorff commented on May 27, 2024

Maybe I am misunderstanding, but I think the way we use those terms does operate the way you are expecting:

TYPE_A:
  uses:
  - data_field_a
  - data_field_b
  implements:
  - SUPERTYPE_A
  - SUPERTYPE_B

Here is an example from the ontology, where fields are defined on an abstract superclass (parent type in our parlance) and is then inherited by the child device upon inheritance.

CHWDPM:
  description: "Differential pressure monitoring for chilled water."
  is_abstract: true
  uses:
  - chilled_water_differential_pressure_sensor
CH_SS_SWTC_DX4SWC_CHWDPM:
  description: "Air cooled chiller with 4 stages cooling."
  is_canonical: true
  implements:
  - CH
  - SS
  - SWTC
  - DX4SWC
  - CHWDPM

This is our intention for how it should operate, so if you are seeing an instance somewhere that this is not being implement in that way please let me know. And again, if I am misunderstanding the question, please let me know and I'll try to clarify my answer.

from digitalbuildings.

tasodorff avatar tasodorff commented on May 27, 2024

@berkoben @charbull what are your thoughts here?

from digitalbuildings.

berkoben avatar berkoben commented on May 27, 2024

@corymosiman12 good observation about the yaml syntax feeling more OO than linked data. This was a deliberate design choice in the YAML format intended to make it more accessible to those who don't speak linked data natively. The intent was always to automate the translation between the YAML configuration and RDF, so authors could deal with something very human-readable, but still convert to linked data if necessary.

from digitalbuildings.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.