SlideShare una empresa de Scribd logo
1 de 37
The SADI plug-in to the
    IO Informatics’
 Knowledge Explorer




...a quick explanation of how
we “boot-strap” semantics...
Semantic Automated Discovery and Integration

         A simple set of Semantic Web Service design patterns
  that result in greatly-improved interoperability and discoverability
SADI in a nutshell...


                      Service Description
                   INPUT OWL Class
                   NamedIndividual: things with
                         a “name” property
                         from “foaf” ontology


                   OUTPUT OWL Class
                   GreetedIndividual: things with
                      a “greeting” property
                      from “hello” ontology



An owl:Individual of the ServiceDescription class from the myGrid/Moby ontology
SADI in a nutshell...



                                            POST http://example.org/myservice



                                                         person:1
Service Description
                                          foaf:name                   rdf:type
INPUT OWL Class
NamedIndividual: things with                                        hello:Named
      a “name” property               Guy Incognito                  Individual
      from “foaf” ontology


OUTPUT OWL Class
GreetedIndividual: things with
   a “greeting” property                                 person:1
   from “hello” ontology
                                      hello:greeting                 rdf:type

                                                                    hello:Greeted
                                 Hello, Guy Incognito!                Individual
SADI in a nutshell...


Service Description
INPUT OWL Class
NamedIndividual: things with
     a “name” property               INDEX
     from “foaf” ontology
                                  The service         Registry
                                   provides a
OUTPUT OWL Class                   “greeting”
GreetedIndividual: things with   property based
   a “greeting” property
   from “hello” ontology
                                  on a “name”
                                    property
SADI in a nutshell...


                          Registry

I have data with
a “name” property




                                  Service Description
                               INPUT OWL Class
                               NamedIndividual: things with
                                    a “name” property
                                    from “foaf” ontology


                               OUTPUT OWL Class
                               GreetedIndividual: things with
                                  a “greeting” property
                                  from “hello” ontology
Sentient Knowledge Explorer is a retrieval, integration, visualization,
   query, and exploration environment for semantically rich data
Most imported data-sets will already have
       properties (e.g. “encodes”)

   …and the data will already be typed
       (e.g. “Gene” or “Protein”)

…so finding SADI Services to consume that
              data is ~trivial
Now what...??

No properties...

No rdf:type...

How do I find a service using that node?

What *is* that node anyway??
In the case of LSRN URIs, they resolve to:

<lsrn:DragonDB_Locus_Record rdf:about="http://lsrn.org/DragonDB_Locus:CHO">
 <dc:identifier>CHO</dc:identifier>
 <sio:SIO_000671> <!-- has identifier -->
  <lsrn:DragonDB_Locus_Identifier>
    <sio:SIO_000300>CHO</sio:SIO_000300> <!-- has value -->
  </lsrn:DragonDB_Locus_Identifier>
 </sio:SIO_000671>
</lsrn:DragonDB_Locus_Record>
</rdf:RDF>
In the case of LSRN URIs, they resolve to:

<lsrn:DragonDB_Locus_Record rdf:about="http://lsrn.org/DragonDB_Locus:CHO">
 <dc:identifier>CHO</dc:identifier>
 <sio:SIO_000671> <!-- has identifier -->
  <lsrn:DragonDB_Locus_Identifier>
    <sio:SIO_000300>CHO</sio:SIO_000300> <!-- has value -->
  </lsrn:DragonDB_Locus_Identifier>
 </sio:SIO_000671>
</lsrn:DragonDB_Locus_Record>
</rdf:RDF>                           The Semantic Science Integrated Ontology
                                     (Dumontier) has a model for how to describe
                                     database records, including explicitly making the
                                     record identifier an attribute of that record; in
                                     our LSRN metadata, we also explicitly rdf:type
                                     both records and identifiers.
Now we have enough information to start exploring global data...
Menu option provided by the plugin
Discovered the (only)
service that consumes
these kinds of records
Output is added to the graph (with some
extra logic to make visualization of complex
data structures a bit easier)
Lather, rinse, repeat...
...and of course,
these links are “live”
What about URIs other than LSRN?
HTTP POST the URI to the SHARE Resolver
service and it will (try to) return you SIO-
 compliant RDF metadata about that URI
      (this is a typical SADI service)

 The resolver currently recognizes a few
different URI schemes (e.g. Bio2RDF) and
can be updated with new patterns easily
Next problem:
   Knowledge Explorer
 and therefore the plug-in
     are written in C#

 All of our interfaces are
     described in OWL

C# reasoners are extremely
    limited at this time
This problem manifests itself in two ways:


1. An individual on the KE canvas has all the properties
   required by a Service in the registry, but is not
   rdf:typed as that Service’s input type  how do you
   discover that Service so that you can add it to the
   menu?

2. For a selected Service from the menu, how does the
   plug-in know which data-elements it needs to extract
   from KE to send to that service in order to fulfil it’s
   input property-restrictions?
If I select a canvas node, and ask SADI to
find services, it will...
The get_sequence_for_region service
required ALL of this (hidden) information
Nevertheless:
(a) The service can be discovered based on JUST this node selection

(b) The service can be invoked based on JUST this node selection
Voila!
How did the plug-in discover the service, and
determine which data was required to access
    that service based on an OWL Class
      definition, without a reasoner?
SELECT ?x, ?y
                                       FROM knowledge_explorer_database
                                       WHERE {
                                            ?x    foaf:name   ?y
                                       }

                                 Convert Input OWL Class def’n
                                 into an ~equivalent SPARQL query
Service Description
INPUT OWL Class                                                     Store together
NamedIndividual: things with                                        with index
     a “name” property                      INDEX
     from “foaf” ontology
                                       The service                         Registry
                                        provides a
OUTPUT OWL Class                        “greeting”
GreetedIndividual: things with        property based
   a “greeting” property
   from “hello” ontology
                                       on a “name”
                                         property
Just to ensure that I don’t over-trivialize this point,

the REAL SPARQL query that extracts the input for this service is...
CONSTRUCT {
              ?input a <http://sadiframework.org/ontologies/GMOD/BiopolymerRegion.owl#BiopolymerRegion> .
              ?input <http://sadiframework.org/ontologies/GMOD/BiopolymerRegion.owl#position> ?position .
              ?position a <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#RangedSequencePosition> .
              ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#coordinate> ?start .
              ?start a <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#StartPosition> .
              ?start <http://semanticscience.org/resource/SIO_000300> ?startValue .
              ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#coordinate> ?end .
              ?end a <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#EndPosition> .
              ?end <http://semanticscience.org/resource/SIO_000300> ?endValue .
              ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#in_relation_to> ?sequence .
              ?sequence <http://semanticscience.org/resource/SIO_000210> ?feature .
              ?feature <http://semanticscience.org/resource/SIO_000008> ?identifier .
              ?identifier <http://semanticscience.org/resource/SIO_000300> ?featureID .

              ?sequence <http://semanticscience.org/resource/SIO_000210> ?strand .
              ?strand <http://semanticscience.org/resource/SIO_000093> ?strandFeature .
              ?strandFeature a ?strandFeatureType .
              ?strandFeature <http://semanticscience.org/resource/SIO_000008> ?strandFeatureIdentifier .
              ?strandFeatureIdentifier <http://semanticscience.org/resource/SIO_000300> ?strandFeatureID .
              ?strand a ?strandType .
} WHERE {
              ?input <http://sadiframework.org/ontologies/GMOD/BiopolymerRegion.owl#position> ?position .
              ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#coordinate> ?start .
              ?start a <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#StartPosition> .
              ?start <http://semanticscience.org/resource/SIO_000300> ?startValue .
              ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#coordinate> ?end .
              ?end a <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#EndPosition> .
              ?end <http://semanticscience.org/resource/SIO_000300> ?endValue .
              ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#in_relation_to> ?sequence .
              {
                                       ?sequence <http://semanticscience.org/resource/SIO_000210> ?feature .
                                       ?feature <http://semanticscience.org/resource/SIO_000008> ?identifier .

                                     ?identifier <http://semanticscience.org/resource/SIO_000300> ?featureID .
              } UNION {
                                     ?sequence <http://semanticscience.org/resource/SIO_000210> ?strand .
                                     ?strand <http://semanticscience.org/resource/SIO_000093> ?strandFeature .
                                     {
                                                             ?strandFeature a <http://sadiframework.org/ontologies/GMOD/Feature.owl#Feature> .
                                     } UNION {
                                                             ?strandFeature <http://semanticscience.org/resource/SIO_000008> ?strandFeatureIdentifier .
                                                             ?strandFeatureIdentifier <http://semanticscience.org/resource/SIO_000300> ?strandFeatureID .
                                     }.
                                     {
                                                             ?strand a <http://sadiframework.org/ontologies/GMOD/Strand.owl#PlusStrand> .
                                                             ?strand a ?strandType .
                                     } UNION {
                                                             ?strand a <http://sadiframework.org/ontologies/GMOD/Strand.owl#MinusStrand> .
                                                             ?strand a ?strandType .
                                     }.
              }.
}
Summary

   While the Knowledge Explorer plug-in has similar
 functionality to other tools we have built for SADI, it
takes advantage of some features of the SADI Registry,
   and SADI in general, that are not widely-known.


   We hope that the availability of these features
encourages development of SADI tooling in languages
       that have limited access to reasoning.
University of British Columbia
    Mark Wilkinson, Project Lead


               Luke McCarthy
               Lead Developer, SADI project




               Benjamin VanderValk
               Developer, SADI project
Microsoft Research
The Knowledge Explorer
Personal Edition,
and the SADI plug-in, are
freely available.

Más contenido relacionado

Destacado

¡UNA BOTELLA AGUA....Y QUE!
¡UNA BOTELLA AGUA....Y QUE!¡UNA BOTELLA AGUA....Y QUE!
¡UNA BOTELLA AGUA....Y QUE!pipis397
 
Semana de la biblioteca 2011 final
Semana de la biblioteca 2011 finalSemana de la biblioteca 2011 final
Semana de la biblioteca 2011 finalPaola Padilla
 
M E N U C U A R E S M A L
M E N U  C U A R E S M A LM E N U  C U A R E S M A L
M E N U C U A R E S M A Lpipis397
 
¡NÓ! LECHE DE VACA
¡NÓ! LECHE DE VACA¡NÓ! LECHE DE VACA
¡NÓ! LECHE DE VACApipis397
 
Recomenzar
RecomenzarRecomenzar
Recomenzarpipis397
 
Glanz Industries, Inc.
Glanz Industries, Inc.Glanz Industries, Inc.
Glanz Industries, Inc.guest200ab0
 
Enhancing Reproducibility and Transparency in Clinical Research through Seman...
Enhancing Reproducibility and Transparency in Clinical Research through Seman...Enhancing Reproducibility and Transparency in Clinical Research through Seman...
Enhancing Reproducibility and Transparency in Clinical Research through Seman...Mark Wilkinson
 
¡LA INTERNACIONALIZACIÓN DE LA AMAZONA!
¡LA INTERNACIONALIZACIÓN DE LA AMAZONA!¡LA INTERNACIONALIZACIÓN DE LA AMAZONA!
¡LA INTERNACIONALIZACIÓN DE LA AMAZONA!pipis397
 
Ata 2010 Steve Brubaker Data Analytics
Ata 2010   Steve Brubaker Data AnalyticsAta 2010   Steve Brubaker Data Analytics
Ata 2010 Steve Brubaker Data Analyticsstevebrubaker
 
SmartBrief Portfolio
SmartBrief PortfolioSmartBrief Portfolio
SmartBrief PortfolioSmartBrief
 
The Semantic Web - This time... its Personal
The Semantic Web - This time... its PersonalThe Semantic Web - This time... its Personal
The Semantic Web - This time... its PersonalMark Wilkinson
 
¡LA BELLEZA DE LOS ARBOLES!
¡LA BELLEZA DE LOS ARBOLES!¡LA BELLEZA DE LOS ARBOLES!
¡LA BELLEZA DE LOS ARBOLES!pipis397
 
Sustainability Assembly1
Sustainability Assembly1Sustainability Assembly1
Sustainability Assembly1Paola Padilla
 
Migrate, Grow, and Cultivate your Community
Migrate, Grow, and Cultivate your CommunityMigrate, Grow, and Cultivate your Community
Migrate, Grow, and Cultivate your CommunityBrendan Sera-Shriar
 
Rcg Presentation
Rcg PresentationRcg Presentation
Rcg Presentationrcggroup1
 
2007 11 07 Presentazione Ir In Asm
2007 11 07 Presentazione Ir In Asm2007 11 07 Presentazione Ir In Asm
2007 11 07 Presentazione Ir In Asmguest1201f4b
 

Destacado (20)

¡UNA BOTELLA AGUA....Y QUE!
¡UNA BOTELLA AGUA....Y QUE!¡UNA BOTELLA AGUA....Y QUE!
¡UNA BOTELLA AGUA....Y QUE!
 
Semana de la biblioteca 2011 final
Semana de la biblioteca 2011 finalSemana de la biblioteca 2011 final
Semana de la biblioteca 2011 final
 
Apache sirona
Apache sironaApache sirona
Apache sirona
 
M E N U C U A R E S M A L
M E N U  C U A R E S M A LM E N U  C U A R E S M A L
M E N U C U A R E S M A L
 
¡NÓ! LECHE DE VACA
¡NÓ! LECHE DE VACA¡NÓ! LECHE DE VACA
¡NÓ! LECHE DE VACA
 
Recomenzar
RecomenzarRecomenzar
Recomenzar
 
Glanz Industries, Inc.
Glanz Industries, Inc.Glanz Industries, Inc.
Glanz Industries, Inc.
 
Enhancing Reproducibility and Transparency in Clinical Research through Seman...
Enhancing Reproducibility and Transparency in Clinical Research through Seman...Enhancing Reproducibility and Transparency in Clinical Research through Seman...
Enhancing Reproducibility and Transparency in Clinical Research through Seman...
 
¡LA INTERNACIONALIZACIÓN DE LA AMAZONA!
¡LA INTERNACIONALIZACIÓN DE LA AMAZONA!¡LA INTERNACIONALIZACIÓN DE LA AMAZONA!
¡LA INTERNACIONALIZACIÓN DE LA AMAZONA!
 
hi
hihi
hi
 
Ata 2010 Steve Brubaker Data Analytics
Ata 2010   Steve Brubaker Data AnalyticsAta 2010   Steve Brubaker Data Analytics
Ata 2010 Steve Brubaker Data Analytics
 
SmartBrief Portfolio
SmartBrief PortfolioSmartBrief Portfolio
SmartBrief Portfolio
 
The Semantic Web - This time... its Personal
The Semantic Web - This time... its PersonalThe Semantic Web - This time... its Personal
The Semantic Web - This time... its Personal
 
¡LA BELLEZA DE LOS ARBOLES!
¡LA BELLEZA DE LOS ARBOLES!¡LA BELLEZA DE LOS ARBOLES!
¡LA BELLEZA DE LOS ARBOLES!
 
Sustainability Assembly1
Sustainability Assembly1Sustainability Assembly1
Sustainability Assembly1
 
Migrate, Grow, and Cultivate your Community
Migrate, Grow, and Cultivate your CommunityMigrate, Grow, and Cultivate your Community
Migrate, Grow, and Cultivate your Community
 
Open Source Design - FSOSS 2008
Open Source Design - FSOSS 2008Open Source Design - FSOSS 2008
Open Source Design - FSOSS 2008
 
Rcg Presentation
Rcg PresentationRcg Presentation
Rcg Presentation
 
Combine Experiments
Combine ExperimentsCombine Experiments
Combine Experiments
 
2007 11 07 Presentazione Ir In Asm
2007 11 07 Presentazione Ir In Asm2007 11 07 Presentazione Ir In Asm
2007 11 07 Presentazione Ir In Asm
 

Similar a SWAT4LS 2011: SADI Knowledge Explorer Plug-in

OrientDB introduction - NoSQL
OrientDB introduction - NoSQLOrientDB introduction - NoSQL
OrientDB introduction - NoSQLLuca Garulli
 
Corba and-java
Corba and-javaCorba and-java
Corba and-javaafreen58
 
SADI in Perl - Protege Plugin Tutorial (fixed Aug 24, 2011)
SADI in Perl - Protege Plugin Tutorial (fixed Aug 24, 2011)SADI in Perl - Protege Plugin Tutorial (fixed Aug 24, 2011)
SADI in Perl - Protege Plugin Tutorial (fixed Aug 24, 2011)Mark Wilkinson
 
Adding Meaning To Your Data
Adding Meaning To Your DataAdding Meaning To Your Data
Adding Meaning To Your DataDuncan Hull
 
Tutorial - Creating SADI semantic-web-services
Tutorial - Creating SADI semantic-web-servicesTutorial - Creating SADI semantic-web-services
Tutorial - Creating SADI semantic-web-servicesMark Wilkinson
 
Semantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web TechnologySemantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web TechnologyRinke Hoekstra
 
FIWARE Global Summit - FIWARE Context Information Management
FIWARE Global Summit - FIWARE Context Information ManagementFIWARE Global Summit - FIWARE Context Information Management
FIWARE Global Summit - FIWARE Context Information ManagementFIWARE
 
Intro to OWL & Ontology
Intro to OWL & OntologyIntro to OWL & Ontology
Intro to OWL & OntologyNarni Rajesh
 
Linking Open, Big Data Using Semantic Web Technologies - An Introduction
Linking Open, Big Data Using Semantic Web Technologies - An IntroductionLinking Open, Big Data Using Semantic Web Technologies - An Introduction
Linking Open, Big Data Using Semantic Web Technologies - An IntroductionRonald Ashri
 
Using Semantics to personalize medical research
Using Semantics to personalize medical researchUsing Semantics to personalize medical research
Using Semantics to personalize medical researchMark Wilkinson
 
SADI SWSIP '09 'cause you can't always GET what you want!
SADI SWSIP '09  'cause you can't always GET what you want!SADI SWSIP '09  'cause you can't always GET what you want!
SADI SWSIP '09 'cause you can't always GET what you want!Mark Wilkinson
 
Searching ORM: First Why, Then How
Searching ORM: First Why, Then HowSearching ORM: First Why, Then How
Searching ORM: First Why, Then Howsfarmer10
 
SADI for GMOD: Semantic Web Services for Model Organism Databases
SADI for GMOD: Semantic Web Services for Model Organism DatabasesSADI for GMOD: Semantic Web Services for Model Organism Databases
SADI for GMOD: Semantic Web Services for Model Organism Databasesbenvvalk
 
REST Web API with MongoDB
REST Web API with MongoDBREST Web API with MongoDB
REST Web API with MongoDBMongoDB
 
Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)muhammadmubinmacadad2
 

Similar a SWAT4LS 2011: SADI Knowledge Explorer Plug-in (20)

OrientDB introduction - NoSQL
OrientDB introduction - NoSQLOrientDB introduction - NoSQL
OrientDB introduction - NoSQL
 
Corba and-java
Corba and-javaCorba and-java
Corba and-java
 
Jena Programming
Jena ProgrammingJena Programming
Jena Programming
 
SADI in Perl - Protege Plugin Tutorial (fixed Aug 24, 2011)
SADI in Perl - Protege Plugin Tutorial (fixed Aug 24, 2011)SADI in Perl - Protege Plugin Tutorial (fixed Aug 24, 2011)
SADI in Perl - Protege Plugin Tutorial (fixed Aug 24, 2011)
 
Adding Meaning To Your Data
Adding Meaning To Your DataAdding Meaning To Your Data
Adding Meaning To Your Data
 
Tutorial - Creating SADI semantic-web-services
Tutorial - Creating SADI semantic-web-servicesTutorial - Creating SADI semantic-web-services
Tutorial - Creating SADI semantic-web-services
 
Semantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web TechnologySemantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web Technology
 
FIWARE Global Summit - FIWARE Context Information Management
FIWARE Global Summit - FIWARE Context Information ManagementFIWARE Global Summit - FIWARE Context Information Management
FIWARE Global Summit - FIWARE Context Information Management
 
Intro to OWL & Ontology
Intro to OWL & OntologyIntro to OWL & Ontology
Intro to OWL & Ontology
 
Linking Open, Big Data Using Semantic Web Technologies - An Introduction
Linking Open, Big Data Using Semantic Web Technologies - An IntroductionLinking Open, Big Data Using Semantic Web Technologies - An Introduction
Linking Open, Big Data Using Semantic Web Technologies - An Introduction
 
Using Semantics to personalize medical research
Using Semantics to personalize medical researchUsing Semantics to personalize medical research
Using Semantics to personalize medical research
 
SADI SWSIP '09 'cause you can't always GET what you want!
SADI SWSIP '09  'cause you can't always GET what you want!SADI SWSIP '09  'cause you can't always GET what you want!
SADI SWSIP '09 'cause you can't always GET what you want!
 
Chapter2
Chapter2Chapter2
Chapter2
 
Searching ORM: First Why, Then How
Searching ORM: First Why, Then HowSearching ORM: First Why, Then How
Searching ORM: First Why, Then How
 
LibreCat::Catmandu
LibreCat::CatmanduLibreCat::Catmandu
LibreCat::Catmandu
 
SADI for GMOD: Semantic Web Services for Model Organism Databases
SADI for GMOD: Semantic Web Services for Model Organism DatabasesSADI for GMOD: Semantic Web Services for Model Organism Databases
SADI for GMOD: Semantic Web Services for Model Organism Databases
 
Play framework
Play frameworkPlay framework
Play framework
 
Exploring Kotlin
Exploring KotlinExploring Kotlin
Exploring Kotlin
 
REST Web API with MongoDB
REST Web API with MongoDBREST Web API with MongoDB
REST Web API with MongoDB
 
Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)
 

Más de Mark Wilkinson

FAIR Metrics - Presentation to NIH KC1
FAIR Metrics - Presentation to NIH KC1FAIR Metrics - Presentation to NIH KC1
FAIR Metrics - Presentation to NIH KC1Mark Wilkinson
 
Introducing the fair evaluator
Introducing the fair evaluatorIntroducing the fair evaluator
Introducing the fair evaluatorMark Wilkinson
 
FAIR Projector Builder
FAIR Projector BuilderFAIR Projector Builder
FAIR Projector BuilderMark Wilkinson
 
Tech. session : Interoperability and Data FAIRness emerges from a novel combi...
Tech. session : Interoperability and Data FAIRness emerges from a novel combi...Tech. session : Interoperability and Data FAIRness emerges from a novel combi...
Tech. session : Interoperability and Data FAIRness emerges from a novel combi...Mark Wilkinson
 
smartAPIs: EUDAT Semantic Working Group Presentation @ RDA 9th Plenary
smartAPIs:  EUDAT Semantic Working Group Presentation @ RDA 9th PlenarysmartAPIs:  EUDAT Semantic Working Group Presentation @ RDA 9th Plenary
smartAPIs: EUDAT Semantic Working Group Presentation @ RDA 9th PlenaryMark Wilkinson
 
IBC FAIR Data Prototype Implementation slideshow
IBC FAIR Data Prototype Implementation   slideshowIBC FAIR Data Prototype Implementation   slideshow
IBC FAIR Data Prototype Implementation slideshowMark Wilkinson
 
FAIR Data Prototype - Interoperability and FAIRness through a novel combinati...
FAIR Data Prototype - Interoperability and FAIRness through a novel combinati...FAIR Data Prototype - Interoperability and FAIRness through a novel combinati...
FAIR Data Prototype - Interoperability and FAIRness through a novel combinati...Mark Wilkinson
 
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015Mark Wilkinson
 
Sample data and other ur ls
Sample data and other ur lsSample data and other ur ls
Sample data and other ur lsMark Wilkinson
 
Example code for the SADI BMI Calculator Web Service
Example code for the SADI BMI Calculator Web ServiceExample code for the SADI BMI Calculator Web Service
Example code for the SADI BMI Calculator Web ServiceMark Wilkinson
 
Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015
Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015
Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015Mark Wilkinson
 
Force11 JDDCP workshop presentation, @ Force2015, Oxford
Force11 JDDCP workshop presentation, @ Force2015, OxfordForce11 JDDCP workshop presentation, @ Force2015, Oxford
Force11 JDDCP workshop presentation, @ Force2015, OxfordMark Wilkinson
 
Presentation to the J. Craig Venter Institute, Dec. 2014
Presentation to the J. Craig Venter Institute, Dec. 2014Presentation to the J. Craig Venter Institute, Dec. 2014
Presentation to the J. Craig Venter Institute, Dec. 2014Mark Wilkinson
 
Web Science 2.0 - in silico science
Web Science 2.0 - in silico scienceWeb Science 2.0 - in silico science
Web Science 2.0 - in silico scienceMark Wilkinson
 
Web Science - ISoLA 2012
Web Science - ISoLA 2012Web Science - ISoLA 2012
Web Science - ISoLA 2012Mark Wilkinson
 
Web Science, SADI, and the Singularity
Web Science, SADI, and the SingularityWeb Science, SADI, and the Singularity
Web Science, SADI, and the SingularityMark Wilkinson
 
Technologies, methods and challenges to data sharing and aggrigation
Technologies, methods and challenges to data sharing and aggrigationTechnologies, methods and challenges to data sharing and aggrigation
Technologies, methods and challenges to data sharing and aggrigationMark Wilkinson
 
ISoLA 2010: SADI Taverna plug-in
ISoLA 2010:  SADI Taverna plug-inISoLA 2010:  SADI Taverna plug-in
ISoLA 2010: SADI Taverna plug-inMark Wilkinson
 

Más de Mark Wilkinson (20)

FAIR Metrics - Presentation to NIH KC1
FAIR Metrics - Presentation to NIH KC1FAIR Metrics - Presentation to NIH KC1
FAIR Metrics - Presentation to NIH KC1
 
Introducing the fair evaluator
Introducing the fair evaluatorIntroducing the fair evaluator
Introducing the fair evaluator
 
FAIR Projector Builder
FAIR Projector BuilderFAIR Projector Builder
FAIR Projector Builder
 
Tech. session : Interoperability and Data FAIRness emerges from a novel combi...
Tech. session : Interoperability and Data FAIRness emerges from a novel combi...Tech. session : Interoperability and Data FAIRness emerges from a novel combi...
Tech. session : Interoperability and Data FAIRness emerges from a novel combi...
 
smartAPIs: EUDAT Semantic Working Group Presentation @ RDA 9th Plenary
smartAPIs:  EUDAT Semantic Working Group Presentation @ RDA 9th PlenarysmartAPIs:  EUDAT Semantic Working Group Presentation @ RDA 9th Plenary
smartAPIs: EUDAT Semantic Working Group Presentation @ RDA 9th Plenary
 
IBC FAIR Data Prototype Implementation slideshow
IBC FAIR Data Prototype Implementation   slideshowIBC FAIR Data Prototype Implementation   slideshow
IBC FAIR Data Prototype Implementation slideshow
 
FAIR Data Prototype - Interoperability and FAIRness through a novel combinati...
FAIR Data Prototype - Interoperability and FAIRness through a novel combinati...FAIR Data Prototype - Interoperability and FAIRness through a novel combinati...
FAIR Data Prototype - Interoperability and FAIRness through a novel combinati...
 
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
 
Sample data and other ur ls
Sample data and other ur lsSample data and other ur ls
Sample data and other ur ls
 
Example code for the SADI BMI Calculator Web Service
Example code for the SADI BMI Calculator Web ServiceExample code for the SADI BMI Calculator Web Service
Example code for the SADI BMI Calculator Web Service
 
Sadi service
Sadi serviceSadi service
Sadi service
 
Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015
Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015
Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015
 
Force11 JDDCP workshop presentation, @ Force2015, Oxford
Force11 JDDCP workshop presentation, @ Force2015, OxfordForce11 JDDCP workshop presentation, @ Force2015, Oxford
Force11 JDDCP workshop presentation, @ Force2015, Oxford
 
Presentation to the J. Craig Venter Institute, Dec. 2014
Presentation to the J. Craig Venter Institute, Dec. 2014Presentation to the J. Craig Venter Institute, Dec. 2014
Presentation to the J. Craig Venter Institute, Dec. 2014
 
SADI CSHALS 2013
SADI CSHALS 2013SADI CSHALS 2013
SADI CSHALS 2013
 
Web Science 2.0 - in silico science
Web Science 2.0 - in silico scienceWeb Science 2.0 - in silico science
Web Science 2.0 - in silico science
 
Web Science - ISoLA 2012
Web Science - ISoLA 2012Web Science - ISoLA 2012
Web Science - ISoLA 2012
 
Web Science, SADI, and the Singularity
Web Science, SADI, and the SingularityWeb Science, SADI, and the Singularity
Web Science, SADI, and the Singularity
 
Technologies, methods and challenges to data sharing and aggrigation
Technologies, methods and challenges to data sharing and aggrigationTechnologies, methods and challenges to data sharing and aggrigation
Technologies, methods and challenges to data sharing and aggrigation
 
ISoLA 2010: SADI Taverna plug-in
ISoLA 2010:  SADI Taverna plug-inISoLA 2010:  SADI Taverna plug-in
ISoLA 2010: SADI Taverna plug-in
 

Último

Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 

Último (20)

Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 

SWAT4LS 2011: SADI Knowledge Explorer Plug-in

  • 1. The SADI plug-in to the IO Informatics’ Knowledge Explorer ...a quick explanation of how we “boot-strap” semantics...
  • 2. Semantic Automated Discovery and Integration A simple set of Semantic Web Service design patterns that result in greatly-improved interoperability and discoverability
  • 3. SADI in a nutshell... Service Description INPUT OWL Class NamedIndividual: things with a “name” property from “foaf” ontology OUTPUT OWL Class GreetedIndividual: things with a “greeting” property from “hello” ontology An owl:Individual of the ServiceDescription class from the myGrid/Moby ontology
  • 4. SADI in a nutshell... POST http://example.org/myservice person:1 Service Description foaf:name rdf:type INPUT OWL Class NamedIndividual: things with hello:Named a “name” property Guy Incognito Individual from “foaf” ontology OUTPUT OWL Class GreetedIndividual: things with a “greeting” property person:1 from “hello” ontology hello:greeting rdf:type hello:Greeted Hello, Guy Incognito! Individual
  • 5. SADI in a nutshell... Service Description INPUT OWL Class NamedIndividual: things with a “name” property INDEX from “foaf” ontology The service Registry provides a OUTPUT OWL Class “greeting” GreetedIndividual: things with property based a “greeting” property from “hello” ontology on a “name” property
  • 6. SADI in a nutshell... Registry I have data with a “name” property Service Description INPUT OWL Class NamedIndividual: things with a “name” property from “foaf” ontology OUTPUT OWL Class GreetedIndividual: things with a “greeting” property from “hello” ontology
  • 7. Sentient Knowledge Explorer is a retrieval, integration, visualization, query, and exploration environment for semantically rich data
  • 8. Most imported data-sets will already have properties (e.g. “encodes”) …and the data will already be typed (e.g. “Gene” or “Protein”) …so finding SADI Services to consume that data is ~trivial
  • 9.
  • 10.
  • 11.
  • 12. Now what...?? No properties... No rdf:type... How do I find a service using that node? What *is* that node anyway??
  • 13.
  • 14. In the case of LSRN URIs, they resolve to: <lsrn:DragonDB_Locus_Record rdf:about="http://lsrn.org/DragonDB_Locus:CHO"> <dc:identifier>CHO</dc:identifier> <sio:SIO_000671> <!-- has identifier --> <lsrn:DragonDB_Locus_Identifier> <sio:SIO_000300>CHO</sio:SIO_000300> <!-- has value --> </lsrn:DragonDB_Locus_Identifier> </sio:SIO_000671> </lsrn:DragonDB_Locus_Record> </rdf:RDF>
  • 15. In the case of LSRN URIs, they resolve to: <lsrn:DragonDB_Locus_Record rdf:about="http://lsrn.org/DragonDB_Locus:CHO"> <dc:identifier>CHO</dc:identifier> <sio:SIO_000671> <!-- has identifier --> <lsrn:DragonDB_Locus_Identifier> <sio:SIO_000300>CHO</sio:SIO_000300> <!-- has value --> </lsrn:DragonDB_Locus_Identifier> </sio:SIO_000671> </lsrn:DragonDB_Locus_Record> </rdf:RDF> The Semantic Science Integrated Ontology (Dumontier) has a model for how to describe database records, including explicitly making the record identifier an attribute of that record; in our LSRN metadata, we also explicitly rdf:type both records and identifiers.
  • 16. Now we have enough information to start exploring global data...
  • 17. Menu option provided by the plugin
  • 18. Discovered the (only) service that consumes these kinds of records
  • 19. Output is added to the graph (with some extra logic to make visualization of complex data structures a bit easier)
  • 21. ...and of course, these links are “live”
  • 22.
  • 23. What about URIs other than LSRN?
  • 24.
  • 25. HTTP POST the URI to the SHARE Resolver service and it will (try to) return you SIO- compliant RDF metadata about that URI (this is a typical SADI service) The resolver currently recognizes a few different URI schemes (e.g. Bio2RDF) and can be updated with new patterns easily
  • 26. Next problem: Knowledge Explorer and therefore the plug-in are written in C# All of our interfaces are described in OWL C# reasoners are extremely limited at this time
  • 27. This problem manifests itself in two ways: 1. An individual on the KE canvas has all the properties required by a Service in the registry, but is not rdf:typed as that Service’s input type  how do you discover that Service so that you can add it to the menu? 2. For a selected Service from the menu, how does the plug-in know which data-elements it needs to extract from KE to send to that service in order to fulfil it’s input property-restrictions?
  • 28. If I select a canvas node, and ask SADI to find services, it will...
  • 29. The get_sequence_for_region service required ALL of this (hidden) information
  • 30. Nevertheless: (a) The service can be discovered based on JUST this node selection (b) The service can be invoked based on JUST this node selection
  • 31. Voila! How did the plug-in discover the service, and determine which data was required to access that service based on an OWL Class definition, without a reasoner?
  • 32. SELECT ?x, ?y FROM knowledge_explorer_database WHERE { ?x foaf:name ?y } Convert Input OWL Class def’n into an ~equivalent SPARQL query Service Description INPUT OWL Class Store together NamedIndividual: things with with index a “name” property INDEX from “foaf” ontology The service Registry provides a OUTPUT OWL Class “greeting” GreetedIndividual: things with property based a “greeting” property from “hello” ontology on a “name” property
  • 33. Just to ensure that I don’t over-trivialize this point, the REAL SPARQL query that extracts the input for this service is...
  • 34. CONSTRUCT { ?input a <http://sadiframework.org/ontologies/GMOD/BiopolymerRegion.owl#BiopolymerRegion> . ?input <http://sadiframework.org/ontologies/GMOD/BiopolymerRegion.owl#position> ?position . ?position a <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#RangedSequencePosition> . ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#coordinate> ?start . ?start a <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#StartPosition> . ?start <http://semanticscience.org/resource/SIO_000300> ?startValue . ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#coordinate> ?end . ?end a <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#EndPosition> . ?end <http://semanticscience.org/resource/SIO_000300> ?endValue . ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#in_relation_to> ?sequence . ?sequence <http://semanticscience.org/resource/SIO_000210> ?feature . ?feature <http://semanticscience.org/resource/SIO_000008> ?identifier . ?identifier <http://semanticscience.org/resource/SIO_000300> ?featureID . ?sequence <http://semanticscience.org/resource/SIO_000210> ?strand . ?strand <http://semanticscience.org/resource/SIO_000093> ?strandFeature . ?strandFeature a ?strandFeatureType . ?strandFeature <http://semanticscience.org/resource/SIO_000008> ?strandFeatureIdentifier . ?strandFeatureIdentifier <http://semanticscience.org/resource/SIO_000300> ?strandFeatureID . ?strand a ?strandType . } WHERE { ?input <http://sadiframework.org/ontologies/GMOD/BiopolymerRegion.owl#position> ?position . ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#coordinate> ?start . ?start a <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#StartPosition> . ?start <http://semanticscience.org/resource/SIO_000300> ?startValue . ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#coordinate> ?end . ?end a <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#EndPosition> . ?end <http://semanticscience.org/resource/SIO_000300> ?endValue . ?position <http://sadiframework.org/ontologies/GMOD/RangedSequencePosition.owl#in_relation_to> ?sequence . { ?sequence <http://semanticscience.org/resource/SIO_000210> ?feature . ?feature <http://semanticscience.org/resource/SIO_000008> ?identifier . ?identifier <http://semanticscience.org/resource/SIO_000300> ?featureID . } UNION { ?sequence <http://semanticscience.org/resource/SIO_000210> ?strand . ?strand <http://semanticscience.org/resource/SIO_000093> ?strandFeature . { ?strandFeature a <http://sadiframework.org/ontologies/GMOD/Feature.owl#Feature> . } UNION { ?strandFeature <http://semanticscience.org/resource/SIO_000008> ?strandFeatureIdentifier . ?strandFeatureIdentifier <http://semanticscience.org/resource/SIO_000300> ?strandFeatureID . }. { ?strand a <http://sadiframework.org/ontologies/GMOD/Strand.owl#PlusStrand> . ?strand a ?strandType . } UNION { ?strand a <http://sadiframework.org/ontologies/GMOD/Strand.owl#MinusStrand> . ?strand a ?strandType . }. }. }
  • 35. Summary While the Knowledge Explorer plug-in has similar functionality to other tools we have built for SADI, it takes advantage of some features of the SADI Registry, and SADI in general, that are not widely-known. We hope that the availability of these features encourages development of SADI tooling in languages that have limited access to reasoning.
  • 36. University of British Columbia Mark Wilkinson, Project Lead Luke McCarthy Lead Developer, SADI project Benjamin VanderValk Developer, SADI project
  • 37. Microsoft Research The Knowledge Explorer Personal Edition, and the SADI plug-in, are freely available.