Open cmiya opened 7 years ago
Related to #79?
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/huviz@0d9bbc51 add show_class_instance_edges setting defaulting to true
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.
closed by smurp/huviz@638a9b8
Not all rdf:type
relations are being displayed as graphable edges when Show class-instance relationships is turned ON.
Possibly connected with cwrc/HuViz#204
Ontologies are often hidden beneath datasets in blackbox. Could we find a way to visualize the ontology in relation to data?