<ericP> rr: http://www.w3.org/ns/r2rml#
<ericP> @prefix rr: <http://www.w3.org/ns/r2rml#> .
<luke> Link to Protégé 4.1 download: http://protege.stanford.edu/download/registered.html#p4.1
<luke> please download the 4.1 release, NOT the beta.
<dbooth> Q: Does OWL have multiple inheritance?
<dbooth> A: Yes.
<Lena> scribenick: Lena
<dbooth> Luke: Classes in OWL are not object-oriented classes, they're logical classes.
<luke> Protégé tutorial we'll be following (the Manchester pizza tutorial): http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/resources/ProtegeOWLTutorialP4_v1_3.pdf
<julie> I'll be taking notes for my own benefit here. Feel free to contribute as you like. https://docs.google.com/a/eagle-i.org/document/d/1RBorUckuM3CQE71pwO4pGWQ76fHAgcqjes2hCJ5UcGQ/edit
luke: step 0 - install
... ontology is a view of the world
<StuartTurner> Thanks Julie
<luke> create new ontology http://www.pizza.com/ ontologies/pizza.owl
<luke> one more time, sans space: http://www.pizza.com/ontologies/pizza.owl
… clinical records terms can come from more than 1 ontology
ericP: to minimize version change
impact, keep the URLs from previous ontology that haven't
... that way, all urla re fw compatible
… minimize the impact of new ideas for coding stuff
… tools like protege don't make it easy, but doable
dbooth: owl:sameAs usage - depends on whether you "really" want to say that two things are the same
… usually there are slight differences
…. those are not same:as
… for a particular application, that difference may not matter,
… in that case, it's ok to say they are sameAs
… but sameAs can be harmful if used out of context
luke: :active ontology tab
… add annotation
… the reasoner ignores annotations
… can be made verbose
luke: page 18
… tab Individuals
<luke> toppings in this file, too: https://dl-web.dropbox.com/get/Public/toppings.txt
<iker> I'd really like to have that conversations about Classes vs. Instances
<luke> try this file link instead: http://elmonline.ca/sw/toppings.txt
ericP: name classes using labes
or semantic free identifiers?
... invent classX, but then decide that label x does not describe it well
… the way it has been used is consistend with an interpreation but not consistent with the label
… solve all problems in computer science with an extra level of indirection
… we can make that change without changing the functionality by just changing the label, not the class identifier
… the class names being opaque has disandvantages because it makes it harder to work with the data
for the people on the phone: just finished generating the hierarchy on page 23
luke: object properties vs data properties
… object properties - relate an individual and a individual; data properties - relate an individual and a literal
<dbooth> scribenick: dbooth
Q: Because we make one property an inverse of another, will it automatically make the other the inverse of the first?
... Now adding inverse of hasTopping ...
Justin: What's the topObjectProperty?
Luke: It's just the top property in OWL, analogous to Thing, but for properties.
<scribe> scribenick: Lena
luke: functional property e.g. hasBirthMother (there can only be 1)
<ericP> 188.8.131.52 DM -u DM --password you guessed it, "DM"
start reasoner - will compute all possible inferences
statements in yellow are infered
use the reasoner for more interesting things
scribe: making sure the ontology is internally consistent
… we'll add an inconsistency
… to see what it dioes
on CheeseTopping, add subClass "InconsistentTopping"
(macs tend to crash when this is attempted, so make sure you save before this next action):
go to reasoner -> synchronize reasoner
<skc> It works without crashing if you do 'stop reasoner' and then 'start reasoner', instead of 'synchronize reasoner'
<skc> (i'm on mac & beta)
<luke> Protégé 4.1 appears not to have a "Stop reasoner" button.
<bobP> I. am. toasted.
<bobP> Justin emailed me his pizza ontology - thanks!
skipping to chapter 5
ericP: mashups become queries
… db space - what this brings to connect data from diff dbs
… direct mapping
… given 2 tables, patients and consultations, how to represent them as a graph>
foreign keys are implied by the db structure
direct mapping: come up with names for the tuples
and come up with some url for it
we can also derive names from relationships and create a url for those
no real configuration other than base url - rdf graph that represents info that was in the SQL table
useful because of referential integrity
datatype in sql correspond to xml schema datatypes and rdf datatypes
one of the goals of direct mapping is to represent the information in diff languages
when connecting data from diff db, we "hope" they are going to have overlaps, but frequently not primary keys
some info will likely be duplicate
so we need to do manipulation
this can be done either in sparql or in sql
we are going to play with a SPAAACE database :)
schema does not include any identifiable/conventional terminologies
sparql constructs can be used to transform schemas to less sociopath graphs
R2RML is a formal language to do the same
slide 34 should say space:Person instead of foaf:Person
<dbooth> Eric: D2R does not follow R3RML spec (yet).
xSPARQL does follow the R2RML spec
<dbooth> Luke: Going forward you probably want to look at R2RML, but D2RQ works now.
<luke> (D2RQ tutorial)
<luke> (D2RQ mapping syntax: http://d2rq.org/d2rq-language
syntax for autmating the generation of a mapping file on mysql in localhost:
most db schemas are additions of tables, not often removal
dbooth: direct mapping approach is advantage in this scenario because nothing is lost in those kind of changes
… needed mapping at the rdf level still works but might need to add a bit more
luke: for data to be semantically meaningful, you need to normalize it
Christopher de Sousa
interest in the product
previously at novartis
need to know everything about a compound
how to develop a product that meets the needs of the other 99%
10 people at metaome
e.g. what are the movies where ingrid bergman and humphrey bogard acter together?
with more and more info generated in life sciences, that gets harder
currently working with 15 db
in life sciences
in the middle, the engine with ontology mappings
also taken into consideration same genes having different names
on top we have the query interface
e.g. are the any hypotensive that can be used as a cancer drug?
click "disable instant"
type protein -> select related
type go -> select go-molecular-function
<ericP> next up: http://www.w3.org/wiki/HCLSHackathon2012#R2RML_with_XSparql
<Frans> mac ports installation: http://www.macports.org/install.php
<Frans> a great tool to have for future software software needs as well
<Frans> (choose pkg installer)
<Frans> once installed you can run "sudo port install maven3" from a shell
<skc> i can share the jar … i finished mvn install
network of institutions that share biomedical information
solve the problem of researchers who have resource and don't know what to do + researchers who need resources to get started
people are looking for something that might be in the lab next door
all systems based on an ontoogy allows easy expansion
2009 - eagle-i ontology dev started
all based on sem web tech
indexing data = index rdf + ontology + interfaces driven by the ontology
have a linked open data set
<dbooth> s/TOPIC: \n//
<julie> To try out the data-entry interface for eagle-i, feel free to go to training.eagle-i.net username:L4 password:Level4. There is a help documentation, but there are also video tutorials and handbooks at open.med.harvard.edu/display/eaglei/training
This is scribe.perl Revision: 1.136 of Date: 2011/05/12 12:01:43 Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/ Guessing input format: RRSAgent_Text_Format (score 1.00) Succeeded: s/soilve/solve/ Succeeded: s/be opaque/being opaque/ Succeeded: s/Toppint/Topping/ Succeeded: s/talbe/table/ FAILED: s/talbe/table/ Succeeded: i/rambling/Topic: Mapping relational to RDF Succeeded: s/sat/say/ Succeeded: i/eagle/Topic: Eagle-I Succeeded: s/D2R, Luke// FAILED: s/Topic: \n// Succeeded: s/Topic:/TOPIC:/ Succeeded: s/Topic:// Succeeded: s/Topic:// Succeeded: i/eagle-i: https/Topic: eagle-i Found ScribeNick: Lena Found ScribeNick: dbooth Found ScribeNick: Lena Inferring Scribes: Lena, dbooth Scribes: Lena, dbooth ScribeNicks: Lena, dbooth Default Present: MITKiva Present: MITKiva WARNING: Fewer than 3 people found for Present list! WARNING: No date found! Assuming today. (Hint: Specify the W3C IRC log URL, and the date will be determined from that.) Or specify the date like this: <dbooth> Date: 12 Sep 2002 Guessing minutes URL: http://www.w3.org/2012/08/29-hack-minutes.html People with action items: WARNING: Input appears to use implicit continuation lines. You may need the "-implicitContinuations" option. WARNING: IRC log location not specified! (You can ignore this warning if you do not want the generated minutes to contain a link to the original IRC log.)[End of scribe.perl diagnostic output]