ontolog-forum
[Top] [All Lists]

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

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Jack Park <jackpark@xxxxxxxxx>
Date: Wed, 11 Jun 2014 11:18:41 -0700
Message-id: <CACeHAVDvY=rErMnaDc2618mD-KsfTCK62=y62_isP1fThFt5_Q@xxxxxxxxxxxxxx>
Great points!    (01)

Let me explain using a "framelike" notation what I do for topic maps
-- ignoring URIs for the moment.    (02)

I have two actors:    (03)

frame: id = '123'
   label = 'CO2'    (04)

frame id = '789'
  label = 'Climate Change'    (05)

I have a predicate type:    (06)

frame id='CausesType'   //note I am using a unique, but 'semantic'
name for this type
  label = 'causes'    (07)

Now in a 'traditional' rdf graph, the triple might look like this:
{123, CausesType, 789}    (08)

But, what I do is to create an instance of the predicate and wire the
triple from that:    (09)

frame id='CausesType_1'
  instanceOf = '#CausesType'    (010)

{123, CausesType_1, 789}    (011)

Now, suppose someone creates a node which exists in an issue map, the
frame for which is this:    (012)

frame id='999'
  instanceOf = '#IBISQuestionType'
  label = 'What is the evidence for that?'    (013)

Given an "edge" predicate since it doesn't need to be an actor:
'Questions' (See David Price's comments that not all predicates need
to be actors):    (014)

We can now start a conversation on the earlier assertion, thus:    (015)

{999, Questions, CausesType_1}    (016)

I can similarly tie properties to that causes instance, such as
'hasBiography' which would point to another frame (Topic) which is the
biography of that causal assertion.    (017)


On Wed, Jun 11, 2014 at 10:29 AM, 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
>    (018)

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

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