User Tools

Site Tools


start

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== API4KB Wiki ====== This WIKI is the work space for assembling responses to the %%OMG%% %%API%% for Knowledge Bases (API4KB) {{api4kb:rfp.pdf|RFP}} ===== Scope ===== The API4KB will define APIs for the following: * [[API4KB_Parsing|Parsing]] * [[API4KB_Reasoning|Reasoning]] * [[API4KB_Persistent_Storage|Persistent Storage]] * [[API4KB_Queries|Queries]] * [[API4KB_Rules|Rules]] * Meta-querying to understand the capabilities of the service (whatever is behind the API) Whether there is a complex set of services or a simple back-end with a single ontology and reasoner should be immaterial to API4KBs -- we should not necessarily expose applications to the potential complexity if they don't want that If we want to integrate various reasoning systems in a loosely coupled, hybrid environment, though, we will need integration apis that can allow you to build up these more complex sets of services. Thus, the APIs need to support both levels of development: (1) a very abstract interface to some service, and (2) more complex, lower level apis that provide access to the individual services and allow us to build up more complicated apps from these lower level services. ===== Use Cases ===== The proposed solution must support [[API4KB_UseCases|these Use Cases]], and it must also support the following [[architecture_styles|architecture styles]]. ===== Issues ===== Our list of issues can be found [[API4KB_Issues|here]]: ===== Strategy ===== One possible strategy is to use a processing model that takes its inspiration from the eXtensible Access Control Markup Language (XACML). XACML is an [[http://xml.coverpages.org/xacml.html|OASIS standard]] that defines a declarative access control policy language that is implemented in %%XML%%. It also defines a processing model for how to evaluate authorization requests according to the rules defined in the policies. This strategy would be to keep the XACML processing model, but replace the XACML language with a combination of Web Ontology Language (OWL) and a rule language. The XACML standard provides a UML interaction diagram of the processing model that we plan to reuse. [[API4KB_XACML_processing_model|This diagram]] is a slightly enhanced reproduction. ===== Ontologies Supporting the APIs ===== In the course of developing the set of APIs the submission team feels are necessary to meet the RFP requirements, we have identified several ontologies that the APIs depend on. These include ontologies describing knowledge base descriptors, asset descriptors, the set of languages used by the relevant knowledge bases and/or tools, and the capabilities of those languages and/or knowledge bases. Each of these are described in more detail [[API4KB_Ontologies|here]]. ===== Presentations to OMG ===== * [[http://bmi.asu.edu/people/faculty/davide-sottara | Davide Sottara]], Arizona State University, presented [[http://www.omg.org/cgi-bin/doc?ontology/2012-09-06 | Motivations and Directions for API4KB]] to the meeting of the %%OMG%% Ontology Platform Special Interest Group (PSIG) on September 13th 2012 * [[http://bmi.asu.edu/people/faculty/davide-sottara | Davide Sottara]], Arizona State University, created [[http://www.omg.org/cgi-bin/doc?ontology/2012-12-02 | Notes From API4KB Working Session]] to the meeting of the %%OMG%% Ontology Platform Special Interest Group (PSIG) on December 13th 2012 * {{:NotesFromMeeting-2013-03-17.pptx| Notes from API4KB Working Session, March 17, 2013}} * {{API4KB-Sottara-20130321.pdf| Presentation to Ontolog PSIG March 21 2013}} * {{api4kb_june_2013.pdf| June 2013 OMG Update}} ===== Resources From OMG ===== * [[http://www.omg.org/spec/ODM/1.0/|Ontology Definition Metamodel]] * {{:specificationmetadata.zip| Draft Specification Metadata OWL file (zipped)}}, including definitions for content type, language, serialization format, to be presented as an OMG AB recommendation in Burlingame, December 2012 * Examples of a REST implementation from CTS2 * [[http://informatics.mayo.edu/svn/trunk/cts2/spec/psm/rest/html/cts2.html|REST Signatures for CTS2]] * [[http://informatics.mayo.edu/cts2/rest/codesystem/SNOMEDCT/version/2010_01_31/entity/1532007/children|Sample CTS2 GET - get all children of class 1532007]] * [[http://informatics.mayo.edu/cts2/rest/codesystem/SNOMEDCT/version/2010_01_31/entity/1532007/children? maxToReturn=5|Sample 2]] * [[https://github.com/API4KBs/md-models|Github repo for MagicDraw models]] * {{api4kb.zip|API4KB Work in progress - MagicDraw model}} an older version? ===== External Resources ===== * [[http://ontolog.cim3.net/cgi-bin/wiki.pl?OntoIOp|OntoIOp]] * [[http://www.fipa.org/specs/fipa00001/SC00001L.html|Foundation for Intelligent Physical Agents (FIPA) Abstract Architecture Specification]] * [[http://www.fipa.org/specs/fipa00086/XC00086C.html|FIPA Ontology Service Specification]] * The RDA (Resource Description and Access) Vocabularies * [[http://www.rdaregistry.info/|RDA Registry]] * [[http://www.rda-jsc.org/archivedsite/rda.html|RDA Steering Committee and Development Site]] * [[http://www.dlib.org/dlib/january10/hillmann/01hillmann.html|Summary article about the RDA effort, D-Lib Magazine]] * [[http://metadataregistry.org/rdabrowse.htm|Open Metadata Registry, Registered RDA Vocabularies]] * [[http://www.w3.org/2005/rules/wiki/RIF_Working_Group|RIF]] * [[http://www.w3.org/TR/rif-overview/|Overview]] * [[http://www.w3.org/TR/rif-rdf-owl/|RIF RDF and OWL Compatibility]] * [[http://ruleml.org/|RuleML]] * [[http://www.ruleml.org/papers/Primer|Primer]] * [[http://ruleml.org/1.0/|Deliberation RuleML Version 1.0]] * [[http://reaction.ruleml.org/|Reaction RuleML Version 1.0]] * [[http://ruleml.org/RuleResponder/|Rule Responder]] * [[http://www.cs.unb.ca/~boley/papers/AbstractSyntaxRuleML.pdf|The Abstract Syntax of RuleML - Towards a General Web Rule Language Framework]] * [[http://www.cs.unb.ca/~boley/papers/PSOA_RuleML_API.pdf|PSOA RuleML API: A Tool for Processing Abstract and Concrete Syntaxes]] (Preprint Proc. [[http://2012.ruleml.org/|RuleML-2012]]) * [[http://www.cs.unb.ca/~boley/papers/DirectPSOA2TPTP.pdf|PSOA2TPTP: A Reference Translator for Interoperating PSOA RuleML with TPTP Reasoners]] (Preprint Proc. [[http://2012.ruleml.org/|RuleML-2012]]) * [[http://wiki.ruleml.org/index.php/PSOA_RuleML#Implementation|PSOA RuleML Implementation]] * [[http://www.corporate-semantic-web.de/ontomaven.html|OntoMaven]] * [[http://www.cs.unb.ca/~boley/talks/RuleMLGrailog.pdf|The Grailog User Interface for Knowledge Bases of Ontologies & Rules]] * [[http://code.google.com/p/linked-data-api/|RESTFul API to RDF]] * [[http://www.graph-database.org/2011/05/03/the-graph-query-language-towards-a-unification-of-graph-query-approaches/ |Graph Query Language]] * [[http://www.w3.org/People/Eric/ | Eric Prud'hommeaux]], W3C, presented [[http://www.w3.org/2012/Talks/0717-egp-API4KB/ | SemWeb APIs]], discussing, among other things: * SPARQL Graph Protocol * Linked Data Profile * Linked Data API (Jenni Tennison) * Other W3C Resources * [[http://www.w3.org/TR/sparql11-entailment/ | SPARQL 1.1 Entailment Regimes]] * [[http://www.w3.org/TR/sparql11-service-description/ | SPARQL 1.1 Service Description]] * [[http://docs.geoserver.org/stable/en/user/introduction/overview.html|Geoserver]] An example (SOAP or RESTful) API for a portal: * [[http://en.wikipedia.org/wiki/Web_Feature_Service|Web Feature Service (WFS)]] This is the web service standard that is used for CRUD operations for spatially-aware online datastores. It is based on a conceptual model that is specific to geographic domain, and so is not directly applicable to our situation, but does provide a model that may be of benefit. * [[http://en.wikipedia.org/wiki/Web_Feature_Service|Web Process Service (WPS)]] This is the web service standard (http://www.opengeospatial.org/standards/wps) that is used for the E operations (of CRUDE) for spatially-aware online datastores. It is sufficiently generic that it could be used directly for specifying processing of any MIME type, including OWL, RDF, Common Logic, etc.. * The very general WPS is made more specific through Application Profiles. See http://www.gi-days.de/archive/2008/downloads/acceptedPapers/Papers/Nash.pdf for some discussion of strengths/weaknesses of the mechanism for defining such profiles as defined in the WPS specification. * [[http://geoserver.org/display/GEOS/What+is+GeoServer|Geoserver Overview]] * [[http://docs.geoserver.org/stable/en/developer/programming-guide/rest-services/overview.html|REST Services in Geoserver]] * [[https://portal.opengeospatial.org/files/?artifact_id=47245|Reference (Conceptual) Model used in Geoserver]] * [[http://en.wikipedia.org/wiki/Restlet|REST framework used in Geoserver: Restlets]] * [[http://geoserver.org/display/GEOS/GSIP+61+-+WFS+2.0#GSIP61-WFS2.0-SOAP SOAP]] * {{API4KB_Metamodel_for_Heterogeneous_Knowledge_Platforms.pdf|API4KB Metamodel For Heterogeneous Knowledge Platforms}}

start.1485370963.txt.gz · Last modified: 2017/01/25 14:02 by admin