[permaculture] the next generation of Pc Design resources.

christophe mckeon gonzalez de leon chromatophore at gmail.com
Mon Nov 23 19:27:19 EST 2009


hi,

there seems to be recurring interest in the db project, maybe there
will be a critical mass reached. a lot of the below links and stuff i
was hoping to post to the pcdb list in a more organized fashion in a
month or two but here it is a bit prematurely.

>> a social network for instance, you just load up the foaf ontology over
>> the wire. if you
>> need to work with plant systematics you load up the relevant ontology
>> that some domain
>> experts have already done all the hard work writing. there are many
>
> Where is an example or further explanation of this?

i'll try to cook up a quick example. say we wrote a pfaf ontology and
had an rdf interface to the pfaf db. we can now load up the ontology
into a model object with an attached reasoner. the reasoner is capable
of making deductions based on our ontology. so for instance if in our
ontology we declared that all instances of the class plant are living
things, then when we ask the model for all living things, it will give
us all the plants in the db. there is no need for any application code
to do this, or any extra fields or data added to any plant instances
in the db. where this gets very interesting is that we can load up
several ontologies & rdf datasets with a 'glue' ontology between them
which the reasoner uses to deal with both datasets. say we have access
to a new dataset through a sparql endpoint over the wire, which has
animals in it. if we declare all animals to also be living things then
the model will now return all plants and animals if we ask for all
living things. lets say that plants have a field 'commonName' and
animals just use the field 'name' to mean the same thing, we can
declare that they are equivalent properties in the glue ontology and
our model and db queries will reflect that equivalence. the main gist
is that our 'schemas' are now semantically rich (we can declare that
name and commonName *mean* the same thing) and are no longer
firewalled silos but can be usefully shared and recombined, and
queries aren't necessarily made to one db, but to a smart data
aggregator with semantic knowledge. we can also write different
ontologies which encode different semantics to be attributed to the
underlying datasets for different views and applications on the data.

the best no nonsense, practical, high level overview of semantic tech and what
it can and can't presently do, that i have read, is the first chapter of this:

http://www.amazon.com/Semantic-Web-Programming-John-Hebeler/dp/047041801X

these two aren't bad either

http://www.amazon.com/Semantic-Web-Working-Ontologist-Effective/dp/0123735564
http://www.amazon.com/Semantic-Primer-Cooperative-Information-Systems/dp/0262012421

i'm currently working through all 3 of them, and still have quite a
bit to learn.

here are some tool sets. almost everything semweb is written in java:

http://jena.sourceforge.net/
http://www.openrdf.org/
http://clarkparsia.com/pellet/

this is the implementation language i am currently using and which i
think is a perfect fit for this kind of work, because i love lisps and
this is the nicest one i've seen, and because i don't like java much &
clojure is fast and sits snuggly on th JVM, but also because clojure's
approach to polymorphism and taxonomies independent of type i think
will play very well with owl's class hierarchies in which an instance
can be of many types:

http://clojure.org/

here is the specification for the FOAF (friend of a friend) ontology
as an example:
http://xmlns.com/foaf/spec/#sec-intro

here are some biological ontologies, some in owl:
http://www.obofoundry.org/

these are some sites using the technology today:

http://dbpedia.org/
http://en.wikipedia.org/wiki/DBpedia
http://www.freebase.com/
http://en.wikipedia.org/wiki/Freebase

> I would be interested in hearing more about owl and possibly
> contributing to a PC knowledgebase project using owl as a starting point.

great! a good way to get a hands on start is to read/work through protege
manual: http://www.co-ode.org/resources/tutorials/ProtegeOWLTutorial.pdf
using the latest owl protege 4:
http://protege.stanford.edu/download/registered.html#p4

the learning curve is relatively steep but i see rich rewards at the top of it.
i think that in a month or so i will be ready to start collaborating on
ontologies and another month or two after that to start developing some
code for a social network/pcdb project.

> This is fascinating. Googling ontology gave me some ideas. I will share
> these in another post after I have absorbed the following:

i look forward to hearing your thoughts.

>
>  From Wikipedia:
> "Ontology ...

the philosophical basis is fascinating as you say but this is another
one of those terms
hijacked by computer science which has taken on a more specific
concrete meaning.
i think one reason for slow adoption of semantic web technologies is
that things like
ontologies are made to seem more impenetrable than they need to be.
the first book i
listed above really clears things up nicely. so far i find OWL &
SPARQL much more
intuitive & satisfying on a practical level than DDLs and SQL.

http://en.wikipedia.org/wiki/Ontology_%28information_science%29
http://en.wikipedia.org/wiki/Web_Ontology_Language
http://en.wikipedia.org/wiki/SPARQL

cheers,
_c



More information about the permaculture mailing list