Closed ahdinosaur closed 8 years ago
also @fosterlynn this means we need to update the diagram ever so slightly, which i can't do. for this reason i was generating my UML diagrams with graphviz from .dot
files in this repo before (see script that generates .svg
file), so everything was version-controlled and anyone could generate our diagrams, but i'm not sure how to get dot
to layout in a more friendly way so i'm happy y'all made a better one for now.
@ahdinosaur if you define both relations on vocabulary level, you may need to always check both to see if two entities have such relation.
https://github.com/mnot/I-D/issues/39#issuecomment-89789736
@reverse
, in your case you would always need to check isMemberOf and hasMember to see if given relationship exists between two entities if you query the dataset, or rely on existence inference
It will also depend how you query the graph, it may not matter for traversals but most likely will if you want to use graph pattern matching.
I just created a dedicated issue for it here: https://github.com/valueflows/valueflows/issues/52
if you define both relations on vocabulary level, you may need to always check both to see if two entities have such relation.
yes, but happy to pay that price if it means each relationship is consistent and can be referenced from either direction: two objects, one for each direction, each object has an @id
, rdfs:label
, etc, both point to each other through owl:inverseOf
.
@elf-pavlik: just to check my understanding, isn't it the case that using owl:inverseOf
to point to an object creates a blank node? then this blank node has rdfs:label
in our example.
also @fosterlynn this means we need to update the diagram ever so slightly, which i can't do
Actually I went in to give you permission, and you already have it. I'm using an old file to not waste my 25 free pics in Cacoo.... https://cacoo.com/diagrams/932zGDU4Rje49eUv/edit in case you actually need it
yes, but happy to pay that price if it means each relationship is consistent and can be referenced from either direction: two objects, one for each direction, each object has an @id, rdfs:label, etc, both point to each other through owl:inverseOf
@ahdinosaur lets take further conversation to https://github.com/valueflows/valueflows/issues/52 If you see urge to merge this one, please feel free to do that but also let's consider this future as testing stage and stay ready that it may change depending on what we can all understand and agree on in the other general issue with 'design pattern' label.
I also assume that we all have a good understanding of JSON-LD syntax for Reverse Properties
from my understanding,
owl:inverseOf
is actually referencing anotherRelationshipType
that has anrdfs:label
but may or may not have an@id
. in Holodex, we separate out all of our inverse relationship types into objects with their own@id
, so we wouldn't reference inverse labels inline like this.