cwrc / HuViz

LOD visualization tool for humanities datasets
8 stars 1 forks source link

Display ontological nodes within the graph #120

Open cmiya opened 7 years ago

cmiya commented 7 years ago

Ontologies are often hidden beneath datasets in blackbox. Could we find a way to visualize the ontology in relation to data?

cmiya commented 7 years ago

Related to #79?

smurp commented 6 years ago

OK, I've got a better handle on this matter now. Note in #122 we were wondering what we had lost with the retirement of Orlonto? It seems that the key concept in "being able to visualize an ontology" is what one does with relations (triples) where the predicate is rdf:type aka a in examples such as:

_:Bob a foaf:Uncle .
_:CharlesDarwin rdf:type foaf:Person .

Turtle parsers are supposed to recognize a as being identical to rdf:type (and ours does, no problem). The problem is what to do with that information. What is happening with HuViz Classic is that rdf:type is being understood to convey that the subject of the triple is an instance of the object of the triple's class -- and hence the subject node should be colored as dictated by the color of the class in the class picker. What HuHiv is not doing is registering rdf:type as a predicate in the predicate picker and hence the Instance---Class edges as worthy of graphing. This is what HuViz normally does.

It seems that there are two motivations for a different behaviour, at least sometimes.

1) This issue (120) is essentially a request that triples with rdf:type as the predicate be respected as being just one more normal triple, ie deserving of mention in the predicate picker and deserving of an edge in the graph. Such edges will necessarily have classes on their right-hand side and so that is how such classes get "pulled into the graph".

2) Sometimes we are sad when viewing an ontology and we find some nodes just floating around in the graph connected to nothing. An example can be seen when you run the command "Activate Motivation" when viewing the "Open Annotation" Ontology (which is now in the HuViz Ontology Menu). Running this command will put the 13 different Motivation nodes into the graph but without any visible connections. The reason for this is that the only thing they have any connection to is the class oa:Motivation and the predicate is good old rdf:type.

I believe that if we just naively enable the graphing of rdf:type in this way then three things will happen: 1) Nodes like oa:assessing will have their edge to oa:Motivation properly displayed 2) Class nodes like oa:Motivation, foaf:Person, etc will always be nodes available to be graphed 3) By default the class which those class nodes such as Motivation and Person will belong to will be Thing, unless we cause HuViz to properly impute membership in the class Class to objects of the predicate rdf:type.

So the questions are: 1) Do we always want to display the rdf:type edges? Which is equivalent to "Do we always want to be able to display ontological nodes within the graph?" 2) Do we want such Class nodes to have membership in the class Class imputed for them?

Phrased in a more user-friendly way: 1) Do we always want every graph to show the classes right there in the graph after Activate All.? Or do we want to be able to turn this Off with a setting? If so what is the default? 2) Do we want such classes to appear as instances of the class Class and hence the class Class will forever be in the class picker? I'm not really sure what the alternative is! Is it to just let them naively become instances of Thing? That seems like a wronger kind of confusing.

smurp commented 5 years ago

smurp/huviz@0d9bbc51 add show_class_instance_edges setting defaulting to true

smurp commented 5 years ago

http://alpha.huviz.dev.nooron.com/#load+/data/twentyOldestVideos.ttl+with+/data/oa.ttl is showing Thing (15/15) but only All (14) because the one Annotation instance is not appearing on the shelf. This seems to be related to the recent work on this issue.

allandthingdisagree

smurp commented 5 years ago

closed by smurp/huviz@638a9b8

smurp commented 5 years ago

Not all rdf:type relations are being displayed as graphable edges when Show class-instance relationships is turned ON.

smurp commented 5 years ago

Possibly connected with cwrc/HuViz#204