ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Requesting Opinions on the Benefits of Predicates as

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: David Price <dprice@xxxxxxxxxxxxxxx>
Date: Wed, 11 Jun 2014 19:16:44 +0100
Message-id: <FD04A96E-6BBE-4EC7-8270-DF6B3BD39753@xxxxxxxxxxxxxxx>
Actually, a 4D approach where a part of a person plays the role of being employed by the company is a better, more flexible approach than reifying relationships in this 3.5D approach.

Making relations into classes is useful in some situations, and ridiculous in others - depends on what you're trying to accomplish.

Cheers,
David

UK +44 7788 561308
US +1 336 283 0606




On 11 Jun 2014, at 18:29, Mark H Linehan <mhl@xxxxxxxxxxx> wrote:

Jack describes here an important aspect of relationships that is not directly captured in graphs that treat the predicates as edges: the attributes associated with the relationships.  Consider the triple {CompanyX employs Person1} using a predicate called "employs".  The triple implicitly describes what an English speaker would conceptualize as an "employment", with attributes such as "start date", "end date", a location, etc.  In RDF, you have to reify the relationship to associate such attributes.  In UML, you could use an association class for this. In SBVR, you can define an "employment" concept (with its attributes) and say that every instance of "employs" is an instance of "employment".  These approaches are needed so they can support queries such as "who is employed at xyz location", as well as "what is the employment location of Person1").

Making predicates into first-class components of a graph certainly helps model the "objectification" aspects of relationships.  Even more important is to permit the predicates to relate more than just subject and object, so as to directly associate the attributes.

Mark H. Linehan
www.linkedin.com/in/MarkHLinehan
-----Original Message-----
From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Jack Park
Sent: Wednesday, June 11, 2014 12:21 PM
To: [ontolog-forum]
Subject: Re: [ontolog-forum] Requesting Opinions on the Benefits of Predicates as Nodes

I see an additional benefit, but not necessarily affiliated with the way you describe an 'implicit node' -- where a predicate appears, still, to be a second-class citizen in the graph.

Let me explain.

Mostly, it would seem that a predicate in a triple performs the task of linking subject and object; it has no other reason for being there other than to complete the assertion, e.g. A relates to B.

But, consider this: if a specific *instance* of a predicate exists as a connective between two objects, then it can be said to carry the full semantics of the assertion itself. The instance is not an 'implicit' node: it is a vertex like any other in a graph.

If I say: A cause B, then the node which is the 'cause' predicate can carry the full semantics of the triple itself. It's not just your father's predicate anymore; it's a first class citizen.

Why do I care?

Consider that said predicate has entails a possibly complex biography.
Who discovered it? What evidence supports it? What debates are in play about it?

I can't assign or otherwise link that biography to either A or B, but only to the specific predicate that ties them together.

If I might add, I will assert that predicates as first class citizens is perhaps the only difference between an RDF graph and a topic map.
I've built topic maps with RDF using the BigData RDF store; they work just fine, can import and export from, e.g. OWL documents, but with a loss of information when the topic map becomes OWL.


On Wed, Jun 11, 2014 at 8:59 AM, Frank Guerino <Frank.Guerino@xxxxxxxxx> wrote:
Hi All,

For a number of years, we've been working with Data Driven Synthesis
as a means of rapidly generating Data Networks/Graphs and the
Knowledge Constructs (e.g. Library Catalogs, Indexes, Taxonomies,
Visualizations,
etc.) that help humans make easier & better sense of them  (If
interested, see NOUNZ).  Like many other Graph representations, we use
"triples" or "triplets" to help represent Semantic Relationships,
where descriptive Predicates are used as the binding between Subject Nodes and Object Nodes.

To date, we've only treated Subjects and Objects as "Nodes" but we've
always known that we can (and have planned to) implement and treat
Predicates as a special type of "implicit" Node, as well.  (Time
didn’t' allow us to get to doing so, until now.)  We believe that
doing so grants users of Graphs certain benefits.  We've identified
three (3)…

#1: The first and obvious advantage is that users can now enter a
Graph from any Edge/Predicate as easily as they can enter from any
Node, and start to traverse the Graph based on that point of entry.

#2: The second advantage of treating Predicates as Nodes is that a
Predicate can now be used as an "Index" or "Pointer" that allows users
to quickly find all Nodes which are tied to said Predicate (or any
Predicates that match certain traits).  In other words, it's a way of
asking the Graph to quickly identify all Nodes that are connected to a
specific Edge/Link/Predicate (or any of a common set of Predicate
traits).  This means that, in addition to being able to ask
"Node-oriented" questions of the Graph, you can now also ask
"Predicate/Edge-oriented" questions of the Graph, as well.  This leads
to even more complex scenarios of being able to ask questions of, both, Nodes and Edges.

#3: The third advantage (based on the second) is that traversal of a
Graph can be even quicker, leading to even shorter paths, because
instead of only traversing a Graph from Node-to-Node-to-Node, through
Nodes, users can now traverse from any Edge/Predicate to any other
Edge/Predicate, through Edges/Predicates.

My question to the Community:  Aside from the above three, do you see
any other benefits that we're missing?

Thanks for your help.

My Best,

Frank
--
Frank Guerino, Chairman
The International Foundation for Information Technology (IF4IT)
http://www.if4it.com
1.908.294.5191 (M)


_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/ Community Wiki:
http://ontolog.cim3.net/wiki/ To join:
http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J


_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/ Community Wiki: http://ontolog.cim3.net/wiki/ To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J



_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J


_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (01)

<Prev in Thread] Current Thread [Next in Thread>