Application Examples of the Semantic

Application Examples of the Semantic

Thomas Schmidt schmidt@informatik. haw-hamburg.de Semantic Web Technologies: Examples • Representing Knowledge: Modelling Thesauri and such • Web Ontology Language for Services (OWL-S) • The Semantic of Hyperlinks Thomas Schmidt schmidt@informatik. Representing Knowledge haw-hamburg.de • In the Semantic Web we want to discover and apply knowledge … • More specifically: we want to built ontologies from existing knowledge and use these for inference … • Practical approach: - Take available taxonomies, thesauri, etc. and formulate them in OWL - Use reasoner to apply OWL model • Inject knowledge into applications Thomas Schmidt schmidt@informatik. haw-hamburg.de Example: ACM Computing Classification System Thomas Schmidt schmidt@informatik. Simple RDFS Approach: haw-hamburg.de ACM (XML): <node id="B." label="Hardware"> <isComposedBy> Hardware <node id="B.0" label="GENERAL" /> <node id="B.1" label="CONTROL STRUCTURES "> rdfs:subClassOF <isComposedBy> <node id="B.1.1" label="Control Design Styles"> Control OWL: Structures <owl:Class rdf:ID=“CONTROL STRUCTURES"> rdfs:subClassOF <rdfs:subClassOf rdf:resource=“#Hardware”/> </owl:Class> … Control Design Styles Thomas Schmidt schmidt@informatik. ACM Relations haw-hamburg.de Hardware <node id="B." label="Hardware"> <isComposedBy> <node id="B.0" label="GENERAL" /> rdfs:subClassOF <node id="B.1" label="CONTROL STRUCTURES "> <isRelatedTo> <node id="D.3.2" label=“Languages" /> Control </isRelatedTo> Structures <isComposedBy> <node id="B.1.1" label="Control Design Styles"> rdfs:subClassOF Control Languages ACM:isRelatedTo Design Styles Thomas Schmidt schmidt@informatik. Additional Property: “Relation” haw-hamburg.de • Not expressible in a class hierarchy • Can be characterised in OWL & applied • transitive, symmetric … • But: class-valued (≠ rdf:type …) ⇒ OWL Full needed ⇒ Expression of simple thesauri problematic in OWL Thomas Schmidt schmidt@informatik. A Simpler Example haw-hamburg.de Books on Lions: :TheAfricanLionBook Typical problem: a :Book ; :bookTitle "The African Lion" ; dc:subject :AfricanLion :BookAboutAnimals a owl:Class ; rdfs:subClassOf :AfricanLion [ a owl:Restriction ; a owl:Class; owl:someValuesFrom :AnimalClass ; rdfs:subClassOf :Lion owl:onProperty dc:subject ] Thomas Schmidt schmidt@informatik. OWL DL Approaches (I) haw-hamburg.de Individuals in parallel Now: :LionsLifeInThePrideBook :BookAboutAnimals a :Book ; a owl:Class ; :bookTitle "Lions: Life in the Pride" ; rdfs:subClassOf dc:subject :LionSubject [ a owl:Restriction ; owl:someValuesFrom :Animal ; owl:onProperty dc:subject ] Thomas Schmidt schmidt@informatik. OWL DL Approaches (II) haw-hamburg.de Unspecified class members :LionsLifeInThePrideBook a :BookAboutAnimals ; [ a owl:Restriction ; owl:onProperty dc:subject ; Now: owl:someValuesFrom :Lion ]; BookAboutAnimals predefined :bookTitle "Lions: Life in the Pride" ; http://www.w3.org/TR/swbp-classes-as-values/ Thomas Schmidt Use case: schmidt@informatik. haw-hamburg.de ACM Computing Classification System A. • ACMCCS 1998 (latest version) General Literature http://www.acm.org/class A.0 • Widely used in classification of General conference papers and articles in A.0.0 computer sciences. Biographies/ autobiographies • Structure: A.0.1 Conference Proceedings – 11 first level nodes A.0.2 – Each list of children for a first or General literary works second level node contains at A.1 least one General (0) node and Introductory and Survey one Miscellaneous (m) node. A.2 – Contains ‘see also’ references Reference between certain nodes A.m Miscellaneous • Represent in processable Ontology (not OWL Full) Thomas Schmidt schmidt@informatik. Use case: Scenario haw-hamburg.de Idea • Classify content according to ACMCCS98 • Enhance search mechanisms by using ACMCCS98 scheme to discover related information ToDo • Add classifier to content • Build ontology representation of ACMCCS98 • Implement application logic ☺ Thomas Schmidt schmidt@informatik. SKOS haw-hamburg.de • SKOS = Simple Knowledge Organisation Systems (http://www.w3.org/2004/02/skos/) • Outcome of the European SWAD project • Meta Model for representing thesauri a.s. • Built as RDF Schema with OWL property characteristics • Semantic of ‘Concepts’ less restrictive than OWL classes • Provides association of (several) words or phrases to concepts Thomas Schmidt schmidt@informatik. SKOS haw-hamburg.de • OWL complaint framework for building concept schemes • Basic constructs: – skos:ConceptScheme – skos:Concept – skos:narrower – skos:broader – skos:related • Knowledge Entities are Concepts, grouped in a Concept Scheme http://www.w3.org/2001/sw/Europe/reports/thes/1.0/guide/ Thomas Schmidt schmidt@informatik. Expressing ACMCCS98 in SKOS haw-hamburg.de <skos:Concept rdf:about=“C.2.6"> <skos:externalID>C.2.6</skos:externalID> <skos:prefLabel xml:lang="en"> Internetworking </skos:prefLabel> <skos:inScheme rdf:resource=“." /> <skos:narrower rdf:resource="C.2.6.1" /> <skos:narrower rdf:resource="C.2.6.2" /> <skos:related rdf:resource="C.2.2" /> </skos:Concept> Thomas Schmidt schmidt@informatik. ☺ A part of the RDF data model haw-hamburg.de Thomas Schmidt Code Fragments: schmidt@informatik. haw-hamburg.de Obtaining an Inference Model 1. Load SKOS schema (from the web): Model schema = ModelLoader.loadModel( "http://www.w3.org/2004/02/skos/core.rdf"); 2. Load data (ACM instances of SKOS from local file): Model data = ModelLoader.loadModel("acmskos.rdf“); 3. Obtain reasoner (SKOS is build upon OWL, so we need an OWL- capable reasoner): Reasoner reasoner = ReasonerRegistry.getOWLReasoner(); 4. Binding schema: reasoner = reasoner.bindSchema(schema); 5. Creating Inference Model: InfModel infModel = ModelFactory.createInfModel(reasoner, data); Thomas Schmidt schmidt@informatik. Getting the non-obvious haw-hamburg.de //get subject we want information on Resource subject = infModel.getResource( “http://www.acm.org/class/1998/B.8”); //get type of information (only ‘related’ concepts) Property predicate = infModel.getProperty( "http://www.w3.org/2004/02/skos/core#related"); //get iterator to all statements matching the given conditions StmtIterator it = infModel.listStatements(subject, predicate, null); //get perfLabel of the first statement returned String label = it.nextStatement().getProperty( “http://www.w3.org/2004/02/skos/core#prefLabel”).getString() Thomas Schmidt Use Case: schmidt@informatik. haw-hamburg.de eLearning Objects content augmentation Idea • LOM relations expressing connection between eLOs • Relations are qualified • Use LOM relations to suggest further content to the learner ToDo • Map LOM relations into an ontology • Implement application logic Thomas Schmidt Simple scheme schmidt@informatik. haw-hamburg.de representing LOM Relations • Relations referencing other eLearning Objects owl:ObjectProperties • All relation qualifiers have an inverse equivalent (eg. isBasisFor isBasedOn) owl:inverseOf • Qualifiers could be declared as being transitive owl:TransitivProperty <owl:ObjectProperty rdf:ID="isBasedOn"> <rdf:type rdf:resource="&owl;TransitiveProperty"/> <rdfs:range rdf:resource="#LearningObject"/> <rdfs:domain rdf:resource="#LearningObject"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="isBasisFor"> <owl:inverseOf rdf:resource="#isBasedOn" /> </owl:ObjectProperty> Thomas Schmidt schmidt@informatik. Sample Instances haw-hamburg.de <LearningObject rdf:about="&hylos;DexteReferModel/DexteReferModel.xml"> <title>Dexter</title> <isBasedOn rdf:resource="&hylos;MemexVBush1945/MemexVBush1945.xml"/> <hasPart rdf:resource="&hylos;DexteDefic/DexteDefic.xml" /> </LearningObject> <LearningObject rdf:about="&hylos;DexteStora/DexteStora.xml"> <title>Dexter Storage</title> <isPartOf rdf:resource="&hylos;DexteReferModel/DexteReferModel.xml" /> </LearningObject> <LearningObject rdf:about="&hylos;AmsteHyperModel/AmsteHyperModel.xml"> <title>Amsterdam Hypermedia Model</title> <isBasedOn rdf:resource="&hylos;DexteReferModel/DexteReferModel.xml"/> </LearningObject> Thomas Schmidt schmidt@informatik. Comfortable Vocabularies haw-hamburg.de • Use the Jena tool schemagen to build vocabulary (java) classes from OWL files (http://jena.sourceforge.net/how-to/schemagen.html) <owl:ObjectProperty rdf:ID="isBasisFor"> <owl:inverseOf rdf:resource="#isBasedOn" /> <rdfs:comment rdf:datatype="&xsd;string"> LOM.Relations.kind is basis for </rdfs:comment> </owl:ObjectProperty> /**<p>The ontology model that holds the vocabulary terms</p>*/ private static OntModel m_model = ModelFactory.createOntologyModel(ProfileRegistry.OWL_LANG ); /** <p>LOM.Relations.kind is basis for</p> */ public static final ObjectProperty isBasisFor = m_model.createObjectProperty( "http://hylos.fhtw-berlin.de/HylosLOM#isBasisFor" ); Thomas Schmidt schmidt@informatik. Getting something out of the Inference Modelhaw-hamburg.de 1. Create Inference Model: Model schema = ModelFactory.loadModel(“hylosLOM.owl”); Model data = ModelFactory.loadModel(“lomData.rdf”); Reasoner reasoner = ReasonerRegistry.createOWLReasoner(); reasoner = reasoner.bindSchema(schema); InfModel infModel = ModelFactory.createInfModel(reasoner, data); 2. Querying the model: Resource s = infModel.getResource(“…AmsteHyperModel.xml”); for( StmtIterator it = infModel.listStatements(s, HylosLOMVocab.isBasedOn, null); it.hasNext(); ) { System.out.println(PrintUtil.print(it.nextStatement()); } Thomas Schmidt schmidt@informatik. Rules – Basis for inference haw-hamburg.de • OWL reasoner is based upon specific rules which model the OWL assertions and constraints • Applied ruleset could be obtained from FBRuleReasoner

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    41 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us