From Labels to Verbs –Child’s Play!
Watching a child acquire their first language skills is nothing like acquiring a new language. The 2-year-old is learning vocalisation, and also ensuring that they get the correct labels for the things around them. “Mummy”, “Daddy”, “cat”, “car”, “sea” and so on. Often this is done with gestures and pointing. The whole person is involved in enunciating and conveying meaning as part of a dialogue. Others in the child’s environment will be encouraging them, but the child, too, will be observing and understanding at a level way beyond their ability to join in – at least for a month or two.
Over time, labels get replaced by phrases. Verbs and adjectives come into the mix. The degree of sophistication improves both the communication, and the ability to show that something communicated to the child has been understood as intended.
Are there any lessons from the child acquiring language from which enterprises can learn when it comes to their development in acquiring semantic skills, assets and technologies? I think there are. I see that enterprises follow a somewhat similar path to the child in acquiring semantic skills – tending to start with simple collections of labels (controlled vocabularies and simple taxonomies) before venturing into using more complex information structures with verbs and adjectives. (These come from ontologies that provide more scope for knowledge representation than controlled vocabularies and taxonomies do).
Historically, this has been the case. We went nearly 2000 years between Plato’s Socrates “carving nature at its joints” to help us understand what ‘things’ there are in our world to William A. Woods writing “What’s in a link?”.
Semantic Arts has developed a core, upper ontology that carves enterprise information at its seams. This has been described in many ways, most recently in a form like the Mendeleev periodic table of elements iii. But where are the links? Are we still approaching the persuasion to enterprises to use semantics in the same way as a child acquiring language rather than as someone already with language skills learning a new language? Do people in business and industry see their information assets as telling a story? Have they the understanding that information ‘bricks’ can be organised to build a variety of information stories in the same way that a set of Lego/Duplo bricks can be organised into the shape of a house, or a boat, or a space rocket? It is the links, the predicates in the RDF model, that help bring together instances of classes into a phrasal structure that is as simple as a 3-year-old’s language constructs.
Let’s use the remainder of this post just to examine the vocabulary of Semantic Arts’ ‘gist’ ontology from the perspective of the links – those predicates on which predicate logic is based.
‘gist’ version 13 has 63 object properties. These are the property type that relates one ‘thing’ to another ‘thing’. There are also 50 data properties, the type that relates a ‘thing’ to a ‘string’ of some sort. We know that the ‘string’ could be assigned to a ‘thing’ type by using xsd:anyURI, but let’s leave that for now.
There are 3 object properties where only the domain (the origin of the relationship ‘arrow’) is specified in the ontology:
| gist: owns gist:providesOrderFor gist:isAbout |
and 14 where the range alone (the class at the pointy end of the relationship ‘arrow) is specified:
| gist:hasAccuracy gist:hasParty gist:hasPhysicalLocation gist:comesFromAgent gist:hasAspect gist:isIdentifiedBy gist:isAllocatedBy | gist:isMadeUpOf gist:comesFromPlace gist:goesToPlace gist:hasMagnitude gist:isRecognizedBy gist:hasAddress gist:goesToAgent |
There are only 6 object properties where the ontology ‘constrains’ us to a specific set of both domain and range classes:
| gist:isGeoContainedIn gist:hasUnitOfMeasure gist:prevents | gist:hasUnitGroup gist:hasBiologicalParent gist:isFirstMemberOf |
This leaves 40 object properties that are a little more flexible in their intended use.
| gist:isExpressedIn gist:isCategorizedBy gist:hasDirectBroader gist:hasBroader gist:isRenderedOn gist:isGovernedBy gist:hasParticipant gist:hasGiver gist:precedesDirectly gist:requires gist:isPartOf gist:precedes gist:allows gist:isDirectPartOf | gist:contributesTo gist:hasMultiplier gist:isMemberOf gist:hasGoal gist:accepts gist:hasUniqueNavigationalParent gist:hasNavigationalParent gist:isTriggeredBy gist:links gist:isBasedOn gist:isConnectedTo gist:hasRecipient gist:occursIn gist:isAgectedBy | gist:refersTo gist:hasSubtrahend gist:hasDivisor gist:conformsTo gist:hasAddend gist:hasUniqueBroader gist:produces gist:isUnderJurisdictionOf gist:linksFrom gist:ogers gist:hasIncumbent gist:linksTo |
One of our observations is that the more one focuses on classes, the tighter one sticks to domains within the enterprise. These then follow the verticals of the periodic table. We are re-enforcing the siloed view, a little. We are keeping interoperability, but looking at the enterprise from the perspective of business areas. But if we move to modelling with relationships, then we can think more openly about how similar patterns occur between the ‘things’ of the enterprise across different areas. It leads us to a much more abstract way of thinking about the enterprise because these relationships will crop up all over the place. (This is one reason the ‘gist’ ontology does not specify domains or ranges for the majority of its properties. It increases flexibility and opens up more possibilities for patterns.)
For a bit of semantic fun, look in the real world for opportunities to use the gist properties as verbs. Go into work and think about how many types of ‘thing’ you can see in the enterprise where ‘thing A’ gist:produces ‘thing B’. See where you can find ‘thing X’ gist:hasGoal ‘thing Y’. Unlike the child we started this article with, you as the reader already know language. So you can use more than just labels and start making statements of a phrasal nature that use these ‘gist’ relationships.
| gist:produces a owl:ObjectProperty ; rdfs:isDefinedBy <https://w3id.org/semanticarts/ontology/gistCore> ; skos:definition “The subject creates the object.”^^xsd:string ; skos:example “A task produces a deliverable.”^^xsd:string ; skos:prefLabel “produces”^^xsd:string ; |
| gist:hasGoal a owl:ObjectProperty ; rdfs:isDefinedBy <https://w3id.org/semanticarts/ontology/gistCore> ; skos:definition “The reason for doing something”^^xsd:string ; skos:prefLabel “has goal”^^xsd:string ; |
