170 likes | 179 Views
A generic SOA for managing semantics-driven domain knowledge. Includes ontology engineering, annotation, and querying RDF triples for knowledge. Distributed and user-oriented architecture.
E N D
Semantic Web based Collaborative Knowledge Management A generic SOA for managing semantics driven domain knowledge LSL, ECS Feng (Barry) Tao
Collaborative Knowledge Management • Process/Methodologies • Identify conceptualization through ontology • KA within the domain • Ontological engineering • semantically enrich data using ontology • Automatic annotation • Manual annotation wizard • manage knowledge through reusing semantically enriched data • Query RDF triples for knowledge • Inference and Reasoning • Architecture • Distributed (over more than one nodes) • Service Oriented • User orientation at different granularities (Web service, Portlet service, portal) • Ontology Driven • Technologies • Semantic Web • Web Service • J2EE, JSF and portlets • Domains • E-Science (Engineering design of optimization) • Learning (Learning through community knowledge management and sharing)
Semantic web enriched data • Ontology • Explicit definitions • Concepts • Relations • Richer constraints in OWL • Cardinality • Semantic Annotation • Create instance representing entities in the application data • Fulfill definition/constraints through controlled annotation • Store as RDF triple statements
RDF Triples of the Semantic Annotation object Subject predicate
Technical Architecture • Portal (reusing portlets) • End users oriented • 3rd party applications • J2EE • JSF/Portlet • Web service proxy (reusing services) • Oriented to customizable GUI designers • Delivered as WAR files • Business Logic of the semantic management functions • Based on Jena RDF API • Tomcat Axis Web service • Interface described in WSDL • Oriented to service consumers
Semantic Management Services • Tomcat Axis web service • Managing ontology • Semantically annotating resources • Semantic query of the annotated resource
// semantic query // query the semantic annotations as triples (subject, predicate, object) SemanticQuery.querySubject(subjectURI, ontologyName) subjectURI = tom ontologyName = photo results: Example usages of the SMS another example is subjectURI = tom ontologyName = elegiProject result is: <sparql xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xs="http://www.w3.org/2001/XMLSchema#" xmlns="http://www.w3.org/2005/sparql-results#" > <head> <variable name="subjectURI"/> <variable name="predicateURI"/> <variable name="objectURI"/> </head> <results ordered="false" distinct="false"> <result> <binding name="predicateURI"> <uri>http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ont.owl#participateWorkPackage</uri> </binding> <binding name="objectURI"> <uri>http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ins.owl#WP5</uri> </binding> </result> <result> <binding name="predicateURI"> <uri>http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ont.owl#knows</uri> </binding> <binding name="objectURI"> <uri>http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ins.owl#john</uri> </binding> </result> <result> <binding name="predicateURI"> <uri>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</uri> </binding> <binding name="objectURI"> <uri>http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ont.owl#Person</uri> </binding> </result> <result> <binding name="predicateURI"> <uri>http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ont.owl#affiliateTo</uri> </binding> <binding name="objectURI"> <uri>http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ins.owl#UoS</uri> </binding> </result> <result> <binding name="predicateURI"> <uri>http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ont.owl#participateWorkPackage</uri> </binding> <binding name="objectURI"> <uri>http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ins.owl#WP7</uri> </binding> </result> </results> </sparql> table represenation: -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | subjectURI| predicateURI | objectURI | ==================================================================================================================================================================== | | <http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ont.owl#participateWorkPackage> | NS:WP5 | | | <http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ont.owl#knows> | NS:john | | | <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> | <http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ont.owl#Person> | | | <http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ont.owl#affiliateTo> | NS:UoS | | | <http://www.elegi.ecs.soton.ac.uk/ontology/elegi.ont.owl#participateWorkPackage> | NS:WP7 | --------------------------------------------------------------------------------------------------------------------------------------------------------------------
Portlet development • Portal (reusing portlets) • End users oriented • 3rd party applications • J2EE • JSF/Portlet • Web service proxy (reusing services) • Oriented to customizable GUI designers • Delivered as WAR files • Business Logic of the semantic management functions • Based on Jena RDF API • Tomcat Axis Web service • Interface described in WSDL • Oriented to service consumers
Query result in XML format (direct from the web service call)
Aggregating portlets for customizable Portal • Portal (reusing portlets) • End users oriented • 3rd party applications • J2EE • JSF/Portlet • Web service proxy (reusing services) • Oriented to customizable GUI designers • Delivered as WAR files • Business Logic of the semantic management functions • Based on Jena RDF API • Tomcat Axis Web service • Interface described in WSDL • Oriented to service consumers