Skip to content

Semantics … it’s not just software and mathematics.

December 3, 2014

Yes, the implementation of the Semantic Web definitely includes software development and mathematics, but Semantics is soooo much more then that. It’s all about meaning, hence the word Semantics. It has context. It represents concepts and relationships. Could even say that there’s a perspective to the semantics. Making assertions about quality and trust. Who said it’s of high quality and why did they make the assertion. The origins of something, aka provenance. In other words, the Semantic Web has a cognitive component.

Semantics is all about meaning. Not just meaning to a machine, but meaning for a person. The Semantic Web utilizes both when displaying information, depending on the context. If a human browses to a IRI that represents a data collection, for example, then that human would want to view the information as a web page with information that is useful for them. If a machine hits that same IRI and wants to see a particular serialization of RDF of that same information, then that’s what it will see. To both human and machine the information is semantically rich and clear.

The meaning behind terms in an ontology and vocabulary are very, very important. And we want to make sure that we use an ontology in the same spirit of its intention and meaning. If we end up using an ontology and decide that term x means something else to us, then we should create our own term x in our own namespace. We need to leave the external ontology alone. Same with relationships.

And we need to use words taking into account their definition, not subverting it or stretching the meaning of the term. “Well, if you think about it this way then it makes sense.” Well, no … terms like inheres and realizes has a definite definition, and the comment related to the term in the ontology should make that clear. If you have to ask to clarify the term, then it’s not worth using.

To use such properties as “relates”, “related by”, “related”, “realizes”, “inheres in”, and so on is semantically void, especially when the “definition” for the term ‘realizes’ looks like this:

“to say that b realizes c at t is to assert that there is some material entity d & b is a process which has participant d at t & c is a disposition or role of which d is bearer_of at t& the type instantiated by b is correlated with the type instantiated by c. (axiom label in BFO2 Reference: [059-003])”

They call that an elucidation, which supposedly means an explanation that makes something clear, clarification. I don’t know about you, but that is definitely not clear. This “elucidation”, to me, is completely void of semantics.

And to say “project realizes leadership_role”? That means absolutely nothing to me. How did the project realize a leadership role? The project didn’t realize it. That doesn’t make any sense. The project includes a collaborator who plays the role of project lead.

And let’s look at a query:

SELECT ?project ?leader
WHERE {
?project a foaf:Project .
?project grt:000055 ?role .
?role ty:000052 ?leader .
?leader a foaf:Person .
}

WTH! ?project grt:0000055 ?role … what the hell does that mean. What relationship does a project have to a role? Perhaps ?project x:includesCollaboratorWithRole ?role.

And how does a role inhere in a person? Meaning of inhere – exist essentially or permanently in. Does the role essentially or permanently exist in the person? No. The person is playing a role for a period of time with a particular context. Patrick West is playing the role of Principal Software Engineer at the Tetherless World Constellation starting in January 2009 and continuing to this day. Patrick West is also playing the role of Consulting Software Engineer with the National Center for Atmospheric Research starting in 2008. The same person, different roles with different context.

Let’s look at another example of meaning. A foaf:Agent is very different from a prov:Agent. They are not defined as being subclasses of the other, nor should they. The foaf namespace is separate and different from the prov namespace. Let me put it another way … the context of foaf is separate and different from the context of prov. The context for foaf:Agent is in terms of representing a person or organization. Period. The context for prov:Agent is in terms of something that has impact on the derivation of one entity from another, provenance.

So to say that prov:Agent subClass foaf:Agent changes the meaning of prov:Agent. And it changes the meaning not only within the scope of my application, but the meaning for anyone, anywhere, especially when we’re talking about 5-star linked data. There is no such thing as a closed container in the Semantic Web. In other words, just because I’m defining this in the context of a particular application at a particular organization, it doesn’t mean that it stays in the confines of that organization. It’s the Semantic “Web”, as in, World Wide Web. If I have true 5-star linked data then concepts and relationships are resolvable outside of my organization. So if I say prov:Agent subClass foaf:Agent, then I’m saying that about all prov:Agent instances.

What I should be doing is saying that an instance is both a foaf:Agent and a prov:Agent.

myapp:PatrickWest a foaf:Agent,provAgent

In fact, I can pull in the RDF of PatrickWest the foaf:Agent from someplace else, such as the Tetherless World Knowledge Store, because I know that the meaning of foaf:Agent is the same between the use in my app and the TWC use. But if I assert that prov:Agent subClass foafLAgent in my app, then myapp:PatrickWest is not the same as twc:PatrickWest because I’ve added the meaning that PatrickWest is also a prov:Agent.

Yes, mathematically speaking, based on graph theory, I can make that assertion. It’s syntactically correct. But that doesn’t make it valid or right. We should not, can not, modify the meaning of a term in an ontology or namespace that is not ours.

We need to get out of the notion that the Semantic Web is just about software and mathematics. It’s also social, behavioral … has a cognitive component … it MEANS something in a much broader scope, to people as well as machines, all across the Web of Information!

Advertisements
No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: