question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Revamps in Hydrus

See original GitHub issue

There are a list of things in Hydrus that I think needs some discussion. So I am opening a new issue about it.

  1. When creating a GraphIAC relation, the value of property inserted by the client is a class name which could create conflicts in the meaning of the value (the client meant it as a string value, the server would interpret it as a reference to a class). I think it would be more appropriate to use an id or a value which has a clear semantic that it refers to a class.
  2. The properties entered in the database are unique by name. We can have a property whose semantic would depend on the class it is used on. (eg. A property may be abstract for one class, an instance property for another)
  3. A property entered in the database has no pre-defined type. Its type is dependent on its value, the first time it is used to insert an object in the server.
  4. #226 made sure that all the required properties are present while inserting an object. But we have no checks to make sure that no property is inserted which are not supported by a class (i.e which is not present in the supportedProperty list of a class)

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:8 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
chrizandrcommented, Mar 7, 2019

Here are a few comments:

  1. GraphIAC uses the internal class IDs to link the classes, not strings, so there is no ambiguity there. If you see the models, it is listed as a foreign key. Also, like I said before none of the models that include classes: GraphCAC, GraphIAC; are accessed by the client. This data is not served at any endpoints so there is no actual need for them to have IDs. They are for internal use only to define the graph. We still don’t have a use case for them.
  2. Most semantic properties, both RDF and OWL based ones have a domain and range attribute defined(http://www.linkeddatatools.com/properties), of course to implement these constraints on properties we would have to dereference the URIs and parse the property definitions to be able to find the correct subject and object for the defined property. Right now, all we need to make sure is that the property is used as per the API Doc, we need not worry about their “actual” definitions, more on this in point 4.
  3. This is true, because we don’t really know the kind of subjects/objects that the property uses(It is not defined in the API Doc, not always). So we guess the properties type based on the data. This was more of a workaround back when I was trying to figure out how to assign a type to the property. I think we can find a more robust method for this. Let’s try and come up with some solutions and we can discuss on here.
  4. This is an important thing that we need to work on. I have already mentioned in some previous issues that we can have a API_Doc.validate() method that does all the sanity checks needed for an object.
1reaction
Mec-iScommented, Mar 27, 2019

About https://github.com/HTTP-APIs/hydrus/issues/358#issuecomment-477025040

This kind of long reply are really well suited to become part of the documentation, if they are not yet. Please consider opening a PR on http-apis.github.io adding this information in the right file or creating a new file.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Hydrus Devonti and Montre Revamp - Subeta
The new Hydrus Montre is awesome well done to the artist :grinning: ... These revamps are nice! and they keep everything that was...
Read more >
HYDRUS - PC-Progress
Software package for simulations of 2D/3D movement of water, heat, and multiple solutes in variably saturated porous media. Downloads, Support, Services.
Read more >
The Hydrus® Microstent Procedure - Ivantis
Using a gonioprism, the Hydrus Microstent is inserted through a clear corneal incision and guided through the trabecular meshwork into Schlemm's canal.
Read more >
Hydrus Microstent - EyeWiki
Related changes · Special pages. Printable version. Permanent link · Page information. This page was last edited on July 10, 2022, at 08:04....
Read more >
Hydrus Malticorn and Revamped Hydrus Rreign - Neocolours
Hydrus Malticorn and Revamped Hydrus Rreign ... Not sure if the Malticorn's a revamp, but the Rreign definitely is. Too bad I didn't...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found