Newsgroup: it.comp.ia
Titolo: Meaningless

Salve ragazzi. Per un progetto mio personale, mi sono imbattuto nella
necessita' di dover creare una enorme rete semantica. Stavo pensando di
codificare questa rete in un database, e di fornire un meccanismo di
"esplorazione" intelligente del db tramite un'interfaccia "cazzuta" in SQL.
La rete semantica dovrebbe codificare relazioni socio-economiche fra
entita', societa' o persone, del tipo "A ha prestato a B x dollari", oppure
"A e' amico di B". Rappresentando la rete in un grafo, gli archi sono le
relazioni ed i nodi le entita' (gli archi che si chiudono sul nodo da cui
partono [al momento non mi sovviene il nome] rappresentano caratteristiche
dell'entita'). Ero indeciso se programmare un'interfaccia "intelligente" in
JDBC, o lasciare tutto a query impostate dall'utente. Secondo voi quale
soluzione e' la migliore? Tenete conto che l'eventuale interfaccia dovra'
esplorare uno spazio discretamente ampio (piu' che altro per la quantita' di
relazioni di un ente con l'altro). Avete inoltre qualche idea su come
partire (mi pare che la polizia usi un sistema simile per le indagini), o su
come codificare il database?
Ciao,
     Stefano (che ogni tanto esce dalle tenebre...)
--
"Dobbiamo credere al libero arbitrio.
Non abbiamo scelta"
Isaac Singer

 come codificare il database?
Se dovessi iniziare il (titanico) progetto io, sceglierei l'approccio 
del CYC[1] usando però come database qualcosa di già esistente e 
performante, come FramerD[2].
[1] CYC
http://www.cyc.com/
http://www.opencyc.org/
OpenCyc is the open source version of the Cyc technology, the world's 
largest and most complete general knowledge base and commonsense 
reasoning engine.
Release 1.0 of OpenCyc will include:
6,000 concepts: an upper ontology for all of human consensus reality.
60,000 assertions about the 6,000 concepts, interrelating them,
constraining them, in effect (partially) defining them.
A compiled version of the Cyc Inference Engine and the Cyc Knowledge
Base Browser.
A suite of RKF tools for rapidly extracting knowledge from a domain
expert (e.g., a physician or oil drilling specialist), tools which
operate by carrying on a clarification dialogue with that individual;
hence: tools for answering questions via English dialogue.
Documentation and self-paced learning materials to help users achieve
a basic- to intermediate-level understanding of the issues of
knowledge representation and application development using Cyc.
A specification of CycL, the language in which Cyc (and hence OpenCyc)
is written. There are CycL-to-Lisp, CycL-to-C, etc. translators.
A specification of the Cyc API, by calling which a programmer can
build an OpenCyc application with very little familiarity with CycL or
with the OpenCyc KB.
The ability to import and export CycML files.
A few sample programs that demonstrate use of the Cyc API for
application development.
[2] FramerD
http://www.framerd.org/
FramerD is a portable distributed object-oriented database designed to 
support the maintenance and sharing of knowledge bases. Unlike other
object-oriented databases, FramerD is optimized for the sort of
pointer-intensive data structures used by semantic networks,
frame systems, and many intelligent agent applications. FramerD
databases readily include millions of searchable frames and may be
distributed over multiple networked machines.  

 performante, come FramerD[2].
8<
Grazie per i link.
Ciao,
     Stefano
