Property Restrictions Every person that teaches a first Year Course is a professor (universal restriction) First-year courses are taught by professors only Mathematics Courses are taught only by professor #949318
Property Restrictions For every academic Staff member there exists an undergraduate course that is taught by him (existential restriction) All academic staff members must teach at least one undergraduate course
Cardinality Restriction 1 A course is taught by at least one Person
Cardinality Restriction 10 30 A department must have at least 10 members but no more than 30.
Special Properties owl:TransitiveProperty “is taller than”, or “is ancestor of” owl:SymmetricProperty “is sibling of”. owl:FunctionalProperty a property that has at most one value for each object “has_mother” owl:InverseFunctionalProperty a property for which two different objects cannot have the same value “has_IDnumber”
Instances (RDF) or We can also provide further details, such as: 39
Instances (RDF) Just because two instances have a different name or ID does not imply that they are different individuals. To ensure that different individuals are indeed recognized as such, we must explicitly assert their inequality: to state the inequality of a large number of individuals:
Layering of OWL OWL Full OWL DL – Vocabulary partitioning. – Explicit typing. – Property separation. – No transitive cardinality restrictions. – Restricted anonymous classes. OWL Lite – The constructors owl:oneOf, owl:disjointWith, owl:unionOf, owl:complementOf, and owl:hasValue are not allowed. – Cardinality statements can only be made on the values 0 or 1 and no longer on arbitrary non- negative integers. – owl:equivalentClass statements can no longer be made between anonymous classes but only between class identifiers.
open-world assumption –we may not deduce falsity from the absence of truth non-unique-name assumption –Just because two instances have a different name or ID does not imply that they are different individuals
Παραδείγματα από travel.owl A destination that is not frequented by noisy families.
Παραδείγματα από travel.owl A destination that provides budget accommodation and offers sport or adventure activities.
Protégé-OWL The Protégé-OWL editor enables users to: Load and save OWL and RDF ontologies. Edit and visualize classes, properties, and SWRL rules. Define logical class characteristics as OWL expressions. Execute reasoners such as description logic classifiers. Edit OWL individuals for Semantic Web markup.
http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTab http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ SWRL Semantic Web Rule Language (SWRL) is an expressive OWL-based rule language. SWRL allows users to write rules that can be expressed in terms of OWL concepts to provide more powerful deductive reasoning capabilities than OWL alone. Example: A person with a male sibling has a brother. Person(?p) ^ hasSibling(?p,?s) ^ Man(?s) -> hasBrother(?p,?s)
Jena-OWL API The Jena Framework includes: an API for reading, processing and writing RDF data in XML, N-triples and Turtle formats; an ontology API for handling OWL and RDFS ontologies; a rule-based inference engine for reasoning with RDF and OWL data sources; stores to allow large numbers of RDF triples to be efficiently stored on disk; a query engine compliant with the latest SPARQL specification servers to allow RDF data to be published to other applications using a variety of protocols, including SPARQ
Jena-OWL API OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_DL_MEM_RULE_INF); OntModelSpecLanguage profileReasoner OWL_MEMOWL fullnone OWL_MEM_TRANS_INFOWL fulltransitive class-hierarchy inference OWL_MEM_RULE_INFOWL fullrule-based reasoner with OWL rules OWL_MEM_MICRO_RULE_INFOWL fulloptimised rule-based reasoner with OWL rules OWL_MEM_MINI_RULE_INFOWL fullrule-based reasoner with subset of OWL rules OWL_DL_MEMOWL DLnone OWL_DL_MEM_RDFS_INFOWL DLrule reasoner with RDFS-level entailment-rules OWL_DL_MEM_TRANS_INFOWL DLtransitive class-hierarchy inference OWL_DL_MEM_RULE_INFOWL DLrule-based reasoner with OWL rules OWL_LITE_MEMOWL Litenone OWL_LITE_MEM_TRANS_INFOWL Litetransitive class-hierarchy inference OWL_LITE_MEM_RDFS_INFOWL Literule reasoner with RDFS-level entailment-rules OWL_LITE_MEM_RULES_INFOWL Literule-based reasoner with OWL rules RDFS_MEMRDFSnone RDFS_MEM_TRANS_INFRDFStransitive class-hierarchy inference RDFS_MEM_RDFS_INFRDFSrule reasoner with RDFS-level entailment-rules Δημιουργία OWL μοντέλου http://jena.apache.org/documentation/ontology/index.html
Other Java APIs Protégé-OWL API http://protegewiki.stanford.edu/wiki/ProtegeOWL_API_Programmers_Guide OWL API http://owlapi.sourceforge.net/