You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The EdgeChange class has an about_edge slot of range Edge, which itself has three slots subject, predicate, and object to represent a typical RDF triple / OWL axiom / graph edge, etc.
But several of the subclasses of EdgeChange have also their own subject, predicate, object fields, in addition to the about_edge that they inherit from EdgeChange. For example EdgeCreation, PlaceUnder, EdgeDeletion…
Why is that so, and what is the intended way of using those classes? For example, is the subject of the edge to be created in EdgeCreation intended to be stored in EdgeCreation.subject or in EdgeCreation.about_edge.subject?
Other subclasses of EdgeChange don’t have their own subject, predicate, object slots and have instead only the about_edge inherited from EdgeChange (for example NodeMove), suggesting that about_edge is the correct way to represent edges and that the “flattened” subject, predicate, and object slots in the other classes might be a mistake.
The text was updated successfully, but these errors were encountered:
gouttegd
added a commit
to gouttegd/kgcl-java
that referenced
this issue
Sep 27, 2024
The KGCL model is somewhat inconsistent in that the EdgeChange class has
a 'about_edge' slot intended to represent the edge (as a {subject,
predicate, object} triple) that is being changed, but several of its
subclasses (EdgeCreation, EdgeDeletion, MoveUnder, PlaceUnder) _also_
have distinct 'subject', 'predicate', and 'object' slots, which are
redundant with the fields of the 'about_edge' slot.
I believe these slots are not only useless but also harmful, since it is
unclear how the corresponding classes are supposed to be used (i.e.,
should the subject be set in change.subject or in
change.about_edge.subject?). Since I strongly suspect these slots are
actually a mistake (and got no indication of the contrary when I raised
the issue to the KGCL folks [1]), here we update our code to only deal
with the 'about_edge' slot, and completely ignore the "flattened"
subject/object/predicate slots.
[1] INCATools/kgcl#53
The
EdgeChange
class has anabout_edge
slot of rangeEdge
, which itself has three slotssubject
,predicate
, andobject
to represent a typical RDF triple / OWL axiom / graph edge, etc.But several of the subclasses of
EdgeChange
have also their ownsubject
,predicate
,object
fields, in addition to theabout_edge
that they inherit fromEdgeChange
. For exampleEdgeCreation
,PlaceUnder
,EdgeDeletion
…Why is that so, and what is the intended way of using those classes? For example, is the subject of the edge to be created in
EdgeCreation
intended to be stored inEdgeCreation.subject
or inEdgeCreation.about_edge.subject
?Other subclasses of
EdgeChange
don’t have their ownsubject
,predicate
,object
slots and have instead only theabout_edge
inherited fromEdgeChange
(for exampleNodeMove
), suggesting thatabout_edge
is the correct way to represent edges and that the “flattened”subject
,predicate
, andobject
slots in the other classes might be a mistake.The text was updated successfully, but these errors were encountered: