Proposal for semantic graph : Boost Mentors, please comment on it

*Need For Semantic Graph* First thing I would like to mention is that semantic graph is not merely a graph with links and nodes. It’s a graph in which nodes links can be of different data types and similarly links. It's a graph of interconnected things that is machine-understandable, its meaning or "semantics" can be explicitly represented on any common database, just like its data. This is the real way to make social networks, applications, libraries and information/data open. Merely opening up their API's is just the first step. Through it, applications can start using the functions and properties written in other languages. Since the Semantic Library makes data-integration easier, it will ultimately be widely adopted and will cater most to the community. Simply put, applications that wish to access or integrate data in the modern age can more easily be done. That alone is reason enough to use this library. Summarising the above Ø Making data more accessible, connectable, and reusable across applications would be a huge benefit. Ø Ability to do more sophisticated reasoning across data. Ø Applications in which its use can directly be seen is World Wide Web. Please refer the above link for more detail. http://novaspivack.typepad.com/nova_spivacks_weblog/2007/11/defining-the-se.... http://www.signosemio.com/rastier/a_graphe.asp *Project Proposal* [dog] <- (ERG) <- [bite] -> (ACC) -> [man] <---------------------- Semantic Graph Here dog, bite and man all are of different types and ERG and ACC are the relations where ERG -> *corresponds to the ergative case (the agent of an action)* ACC-> to* the accusative case (the patient of an action, the one affected by it)* I am aiming to make the first steps towards the conceptualization and formulation of Semantics Graphs for the Boost Graph Library (BGL). *1) **Node Data Structure* Node should have a container to store data and an array of functions whose scope will be limited to only process the data of its own node and attached links. These nodes can process their data individually and this functionality would be defined by the functions which user would provide through the array of functions and can transmit request for processing to another nodes through links joined to them. Nodes will also contain the pointer to all the links leaving it. *2) **Link Data Structure* Links apart from containing data it will contain some defined constants whose actions value would be provided at the start time and should. These constants would define the relation between the nodes it is connecting to. Majorly relations would include of the following types like who is the agent of action, who is the recipient of action, which is the proposed result of the action, what is the final result, what is the beneficiary action and who is the beneficent of the action, who is the comparing element and who is being compared. The following paper clearly states what semantic graph is mathematically. http://www.revue-texto.net/Parutions/Livres-E/Hebert_AS/12.Semantic-Graph.pd... *3) **Algorithms For Traversal of The Graph* Here I want to state that I found a library for semantic graphs which is in the CLI library. It can be obtained at http://www.codesynthesis.com/~boris/tmp/cli/cli-0.0.2+dep.tar.bz2<http://www.codesynthesis.com/%7Eboris/tmp/cli/cli-0.0.2+dep.tar.bz2> The basic algorithm of Traversal can be used but here since the nodes and links are of different data types, this can be implemented with the help of a void pointer. Once we reaches a node, we will mark it explore and the will move to the links that leaves it. This will even provide the functionality to enable us to find a link. How knowledge will be represented and how what variables and functions need to be implemented, these issues and their solution are clearly stated in the following research paper. http://www.edmondchow.com/pubs/SS105ChowE.pdf An application of semantic sub-graph involving knowledge representation and text summarisation is given in the following paper written under Microsoft Research. http://nl.ijs.si/isjt04/zbornik/sdjt04-05leskovec.pdf Please note the fact that through this way, i think the space occupied by the graph is minimal as it only depends on the containers used by the user. We just used 3 pointers for linking the nodes.

On Wed, Mar 31, 2010 at 2:45 PM, Chinmaya Poswalia <chinmaya.poswalia@gmail.com> wrote: [snip] I've been thinking about something like this for some time to be used together with the Mirror reflection library I'm working on. I.e the basic meta-data would be linked with a semantic layer allowing to do many interesting things. I would be quite interested in the outcome of such project. Also, a good (if little outdated) place to look is also http://www.jfsowa.com/ -- ________________ ::matus_chochlik
participants (2)
-
Chinmaya Poswalia
-
Matus Chochlik