ontolog-forum
[Top] [All Lists]

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

To: "'[ontolog-forum] '" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Mark H Linehan" <mhl@xxxxxxxxxxx>
Date: Wed, 11 Jun 2014 13:29:57 -0400
Message-id: <010401cf859a$c4259990$4c70ccb0$@mlinehan.us>
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").    (01)

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.    (02)

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    (03)

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.    (04)

Let me explain.    (05)

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.    (06)

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.    (07)

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.    (08)

Why do I care?    (09)

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

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

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.    (012)


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
>    (013)

_________________________________________________________________
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    (014)



_________________________________________________________________
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    (015)

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