1 / 49

What is the Semantic Web?

Learn the Semantic Web concepts for data integration and automated reasoning, enabling web agents to extract and process information effectively. Explore RDF data model, SPARQL, RDFS, and OWL standards.

matties
Download Presentation

What is the Semantic Web?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. What is the Semantic Web? “The Semantic Web is an extension of the current web in which information is given a well-defined meaning, better enabling computers and people to work in cooperation.” – Tim Berners-Lee, et al [The Semantic Web, Scientific American, 2001.] “A set of standards and best practices for sharing data and the semantics of that data over the Web for use by applications” -- Bob DuCharme [Learning SRARQL, 2013.] Standards: 1. RDF data model 2. SPARQL query language 3. RDFS and OWL standards for storing vocabularies and ontologies. Best practices include the use of URIs (IRIs) to refer to entities on the web and use of standards. 1

  2. Limitations of the WWW To get a specific question answered, a person must: 1. Browse extensively, i.e. collect all the relevant information – very tedious and time consuming, because there is too much information with too little structure on the web. 2. Interpret the collected information, accounting for the fact that web contents is heterogeneous in terms of data representation, structure, and character encoding. 3. Integrate that information to derive the answer – the result is only as good as the integration process itself AND only people can carry out this task as of now BECAUSE only people can derive new information from multiple possibly heterogeneous pieces of information. Note: Integration requires not only understanding of the meaning of the information to be integrated, but also ability to perform reasoning, i.e. what follows from what we know. 2

  3. What we cannot do on the web: Examples 1. Find the highest ranked ABET accredited computer science program in CT offered by a public university. What cats and dogs have in common? Find the cheapest two bedrooms apartment in New Britain near CCSU. 2. 3. Finding answers to these questions require intelligent integration of content from multiple websites, as well as background knowledge. Note that all the required knowledge is on the web, but it is not machine- processible (for the most part) -- it is intended to be processed by people. How about the so-called “intelligent personal assistants” like Siri, Cortana and Google Assistant? Not as “intelligent” as they seem to be – they are intended to help general user navigate and collect information, but the interpretation and integration of this information is up to the user. 3

  4. The challenge • There is a huge amount of data on the web BUT most of this data is not linked (consider www without document links). We need a standard way to represent data which also allows linkable data to be automatically linked. We need ways to access data to be used by applications. We need vocabularies to capture the meaning of data. We need languages to process this data. We need methods for deriving further information from existing data, such as logical deduction which is the basis for automated reasoning. And much more .. • • • • • • 4

  5. Towards addressing the challenge: A (smart) data integration agent (adapted from Liyang Yu – A Developer’s Guide to the Semantic web) You want to learn about the topics covered in CS 575 and you ask your “personal web agent” to get that information for you. Assume it starts with the published course schedule at https://ssb.ccsu.edu/pls/ssb_cPROD/byskcsob.P_TermSel, where it finds the following information: ns0:cs575 ns0:name “CS 575” . ns0:cs575 ns0:CRN <https://...CS&crse_in=575&crn_in=41939 > . ns0:cs575 ns0:taughtBy <ns0:_x> . ns0:_x ns0:name “Neli P. Zlatareva” . ns0:_x ns0:homepage <http://www.cs.ccsu.edu/~neli> . … and a few more statements 5

  6. Example contd. Next, your agent visits the instructor’s homepage, where it collects more information: ns1:zlatareva ns1: firstname “Neli” . ns1:zlatareva ns1: lastname “Zlatareva” . ns1:zlatareva ns1:homepage <http://www.cs.ccsu.edu/~neli> . ns1:zlatareva ns1: teaches <ns1:_c> . ns1:_c ns1:name “Linked Data Engineering” . ns1:_c ns1:CRN <https://...CS&crse_in=575&crn_in=41939 > . ns1:_c ns1:textbook <ns1:_b> . ns1:_b ns1:ISBN “978-0-12-373556-0” . … and so on At this point, the agent can conclude that the instructor referred to by <ns0:_x> has first name “Neli” and last name “Zlatareva”, and “CS 575” and “Linked Data Engineering” refer to the same class because teaches and taughtBy are inverse properties. Thus, the following statement will be derived and added to the collected: ns0:cs575 sameAs ns1:_c . 6

  7. Example contd. From here, the agent will go to www.amazon.com where the following information about the course textbook will be found: ns2:textbook ns2:ISBN “978-1-4200-9050-5” . ns2:textbook ns2:title “ Semantic Web for the Working Ontologist” . ns2:textbook ns2:Chapter_1 “ What is the Semantic Web?” . ns2:textbook ns2:Chapter_2 “Semantic Modellng” . … more here. Now the agent can conclude that the book referred to by < ns1:_b > and ns2:textbook refer to the same book, and the following statement will be added: ns2:textbook sameAs ns1:_b . The properties associated with ns2:textbook, namely title, part_1, etc. provide the answer to the initial query. 7

  8. What does it take to implement our agent? 1. Since the agent browses different web sites to collect information, each web site must describe that information in an uniform way, i.e. we need a standard for representing data/knowledge on the web. The information at different web sites cannot be arbitrary – it should be consistent with agreed common terms and relations. For example, to describe a person, we use some common terms such as name, birthday, homepage, etc. defined by a FOAF (Friend Of A Friend) vocabulary. The agent must “understand” each chunk of information it collects. The agent must be able to conduct reasoning based on its understanding of common terms and relations. Example: knowing that resources ns2:textbook and ns1:_b have the same ISBN numbers, the agent must conclude that they are the same resource. The agent must be able to address queries about the information it has collected. … and more stuff, of course. 2. 3. 4. 5. 6. 8

  9. Linked Data Our hypothetical agent visited 3 web sites. This can be possible only if there are links between the entities in these three sites, as shown here: “Neli” ns1:firstname ns0:cs575 ns1:zlatareva ns1:lastneme ns0:taughtBy ns1:teaches “Zlatareva” ns0:_x ns1:_c ns0:homepage ns1:homepage <http://www.cs.ccsu.edu/~neli> <http://www.cs.ccsu.edu/~neli> Merge these two nodes 9

  10. Linked Open Data Cloud (2007) Over 500 million data chunks (RDF triples) with 120,000 links between them 10

  11. Linked Data [http://lod-cloud.net ] For Linked Open Data cloud diagram in 2009 see http://lod-cloud.net/versions/2009-07-14/lod-cloud.pdf For Linked Open Data cloud diagram in 2011 see http://lod-cloud.net/versions/2011-09-19/lod-cloud.pdf For Linked Open Data cloud diagram in 2014 see http://lod-cloud.net/versions/2014-08-30/lod-cloud.pdf For Linked Open Data cloud diagram in June 2018 see https://lod-cloud.net/ Note: All data in the LOD cloud is linked together and is publicly available. In June, 2018 the LOD cloud contained contains 1,224 datasets with 16,113 links between them and hundreds of billions of facts. 11

  12. Linked Data Real World Applications • BBC Music Website [https://www.bbc.co.uk/music] Want to learn more? Read https://www.cmswire.com/cms/information- management/bbcs-adoption-of-semantic-web-technologies-an-interview- 017981.php For more behind the scene, check out https://www.bbc.co.uk/ontologies • Data.gov [https://www.data.gov/] Contains US government data intended to provide the public with easy access to a huge number of datasets (to be discussed – textbook/Chapter 9) • Wikidata [http://wikidata.org/wiki/Wikidata:Main_Page] “Wikidata is a free and open knowledge base that can be read and edited by both humans and machines. Wikidata acts as central storage for the structured data of its Wikimedia sister projects including Wikipedia, Wikivoyage, Wikisource, and others. “ (from Wikidata main page) 12

  13. What is needed to implements Linked Data? • A formal, machine understandable language to represent data and relations between data (i.e. define syntax). Formal rules to allow machines to extract (classify, query) information from data (i.e. define semantics). Built-in descriptions (vocabularies, ontologies) to describe domains in which data is to be interpreted. Recall the importance of the context and the pragmatics in data interpretation. • • Linked data is what the Semantic Web is about. That is, the Semantic Web is a collection of standard technologies to implement linked data. 13

  14. The Semantic Web is a REALITY Currently, the Semantic Web encompasses almost 10000 databases, >85 billion facts, > 800 million links. These are publicly available data, identifiable via URI and accessible via HTTP. Example: DBPedia -- Wikipedia for the Semantic Web, which can be used by both, humans and computers. For humans, information is returned as an HTML document, for computers – information is returned in machine understandable RDF format. The link http://dbpedia.org/resource/Central_Connecticut_State_University http://dbpedia.org/page/Central_Connecticut_State_University (returns the web page) http://dbpedia.org/data/Central_Connecticut_State_University (returns machine-understandable representation) 14

  15. Human readable html document A URI for a particular resource may already exist on the web. Example: http://dbpedia.org/resource/CCSU -- check it out. Notice that submitted http request about the resource, CCSU, is automatically directed to the human readable HTML document to be returned to the user. However, if an application would refer to that same resource, dbpedia would return a machine readable representation instead. 15

  16. Machine understandable RDF document A URI for a particular resource may already exist on the web. Example: http://dbpedia.org/resource/CCSU -- check it out. Notice that submitted http request about the resource, CCSU, is automatically directed to the human readable HTML document to be returned to the user. However, if an application would refer to that same resource, dbpedia would return a machine readable representation instead. 16

  17. Semantic Web Layer Cake Source: http://www.semanticfocus.com/blog/entry/title/introduction-to-the-semantic-web-vision-and-technologies-part-2- foundations/

  18. XML (eXtended Markup Language) XML is a flexible text format that is used to structure, store, and transport data over the Web. Contrary to HTML, which is about displaying data, XML is about describing data, BUT there is no one standard way to describe the same data. Example: Consider the concept COURSE, and its instance CS462. HTML description XML description <H1> CS462: AI</H1> <course> <UL> <title> CS462: AI </title> <LI> CRV: 4185 <CRV> 4185 </CRV> <LI> Level: undergrad/grad <level> undergrad/grad </level> <LI> Professor: NZ, office hours … <Professor> <LI> Website: www.cs.ccsu.edu/~neli </UL> <office hours> …</office hours> <name> NZ </name> <Website> … </Website> </Professor> </course> 18

  19. XML documents are labeled trees Course Professor Title Level CRN Name Web site 19

  20. XML (contd.) XML documents are easily readable and understandable by humans, because their tags are familiar terms, but • XML lacks semantics, and • XML makes no commitment to ontological vocabulary, nor to ontological modelling , i.e. can not serve as knowledge representation language. Because XML is a universal meta markup language, the same term can be given different meanings by different sources (for example title can mean “book title” or “person title”) . To resolve such inconsistencies, the so-called namespaces are used. For example: xmlns:dc=“http://purl.org/dc/elements/1.1/” defines namespace dc (Dublin Core) and <dc:title>Artificial Intelligence</dc:title> suggests that term title refers to a book. xmlns:v=“http://www.w3.org/2006/vcard/” describes people, and <v:title>Doctor</v:title> suggests that term title refers to a person. 20

  21. RDF (Resource Description Framework) • RDF is the foundation for representing and processing knowledge on the web. It is a graph-based data model, where knowledge is represented as a list of statements called triples. • Each triple has the form “subject, predicate, object”. Example: “Jones TEACHES Math101” • Each element of a triple (the resource) is identified by a URI. Example: <http://myUniv.edu/people/Jones> <http://myUniv.edu/terms/teaches> <http://myUniv.edu/courses/Math101> --- in N-triples format. RDF can be implemented in various ways (called serializations), one of which has XML- based syntax to support syntactic interoperability. Example: <rdf:RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:myUniv=“http:/myUniv.edu/terms/”> <rdf:Description rdf:about=“http://myUniv.edu/jones”> <myUniv:teaches> <rdf:Description rdf:about=“http://myUniv.edu/courses/Math101”> </rdf:Description> </rdf:Description> </rdf:RDF> 21

  22. RDF statements are directed labeled graphs <http://www.math.ccsu/jones> <http://www.cs.ccsu.edu/~neli/univ.owl#teaches> <http://www.ccsu.edu/catalog/Math101> • RDF is provided with a model-theoretic semantics that defines the notion of entailment between two RDF statements. • RDF graphs are finite sets of RDF triples. • This types of graphs are very similar to semantic nets. 22

  23. Another example Consider the following set of triples: { <?p1 foaf:name “Jones”>, <?p1 foaf:knows ?p2>, <?p1 myUniv:teaches ?c1>, <?p2 myUniv:studies ?c1>, <?p2 foaf:name “Bob”>, <?p2 foaf:mbox “Bob@mygmail.com”>, <?c1 rdf:type myUniv:course>, <?c1 foaf:name “Math101”>} where foaf : <http://xmlns.com/foaf/0.1/> rdf: <http://www.w3.org/1999/02/22-rdf-syntav-ns#type> “Jones” “Bob” foaf:name foaf:name foaf: knows foaf:mbox myUniv:teaches foaf:name myUniv:studies “Bob@mgmail.com” “Math101” rdf:type “myUniv:course” _:p1 _:p2 _:c1 23

  24. RDF Schema (RDF Vocabulary Description Language) • RDF is a universal language that allow users to describe their own domains, but it does not make assumptions about any particular domain. RDF Schema defines the vocabulary, specifies object properties and their values, and describes the relations between objects. RDF Schema organizes this vocabulary in a typed class hierarchy. Example (for short, in N3 format, which is a superset of N-Triples; it allows us to define a URI prefix and identify entity URIs wrt a set of prefixes at the beginning of the document) @prefix univ: <http://www.cs.ccsu.edu/~neli/univ.owl> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . univ:professor rdfs:subClassOf univ:staff . univ:staff rdf: type rdfs: Class . univ: professor rdf:type rdfs:Class . univ:Jones rdf:type univ:professor . • • 24

  25. RDF/RDFS Example teaches Jones Math101 RDF Professor TeachingAss RDFS Staff 25

  26. RDF and RDFS Axiomatic Semantics • All language primitives are represented by constants, such as Resource, Class, Property, subClassOf, Literal, etc. A few predefined predicates are used to represent relations between constants, such as: – An RDF triple is represented as PropVal (P, R, V), where P is a property, R is a resource, and V is a value; – Predicate Type (R, T) states that resource R has the type T, and it is equivalent to PropVal (type, R, T). All classes are instances of Class and have the type Class, i.e Type (Class, Class), Type (Property, Class), Type (Resource, Class), etc. Resource is the most general class – every class and every property is a resource. Predicates in RDF statements are properties. • • • 26

  27. RDF and RDFS Semantics (contd) In RDFS, we also have subclasses , subproperties, and constrains. • subClassOf is a property, i.e. Type(subClassOf, Property). • If class C is a subclass of class C’, then all instances of C are also instances of C’, i.e. PropVal (subClassOf, ?c, ?c’)  (Type(?c, Class) & Type(?c’, Class) & ?x (Type (?x, ?c)  Type (?x, ?c’))) • Property P is a subproperty of property P’, if P’(x, y) whenever P (x, y), i.e. Type (subPropertyOf, Property) PropVal (subPropertyOf, ?p, ?p’) (Type(?p, Property) & Type(?p’, Property) & ?r ?v (PropVal (?p, ?r, ?v)  PropVal (?p’, ?r, ?v))) Every constraint resource is a resource, i.e. PropVal (subclassOf, ConstraintResourse, Resourse) Constraint properties are all properties that are also constraint resourses, i.e (Type (?cp, ConstraintProperty) (Type (?cp, ConstraintResource) & • • Type (?cp, Property)) 27

  28. RDF and RDFS Semantics (contd) • domain and range are constraint properties, i.e. Type (domain, ConstraintProperty) Type (range, ConstraintProperty). Domain of a property is a set of all object to which P applies, i.e. PropVal (domain, ?p, ?d)  ?x ?y (PropVal (?p, ?x, ?y)  Type (?x, ?d)) Range of property P is the set of all values that P can take, i.e. PropVal (range, ?p, ?r)  ?x ?y (PropVal (?p, ?x, ?y)  Type (?y, ?r)) • • Given all these axioms, we can derive the following formulas: PropVal (domain, range, Property) PropVal (range, range, Class ) PropVal (domain, domain, Property) PropVal (range, domain, Class) Example. Given PropVal (subClassOf, Professor, Staff), PropVal (domain, teaches, Professor), PropVal (teaches, Jones, Math1) we can derive Type (Jones, Staff). 28

  29. A Direct Inference System for RDF and RDFS • Based on rules of the form If E contains certain triples Then add to E certain triples, where E is a set of RDF triples. • Example rules (from W3C RDF recommendations):  If E contains the triple (?x, ?p, ?y) Then E also contains the triple (?p, rdf : type, rdf : property)  If E contains the triples (?u, rdfs : subClassOf, ?v) and (?v, rdfs : subClassOf, ?w) Then E also contains the triple (?u, rdfs : subClassOf, ?w)  If E contains the triples (?x, rdf : type, ?u) and (?u, rdfs : subClassOf, ?v) Then E also contains the triple (?x, rdf : type, ?v)  If E contains the triples (?x, ?p, ?y) and (?p, rdfs : range, ?u) Then E also contains the triple (?y, rdf : type, ?u) 29

  30. How inference in RDF is different from inference in RDFS? Consider the following triples • myUni:Student1 rdf: type myUni: TeachingAssistant . • myUniv: TeachingAssistant rdfs: subClassOf myUniv: Staff . RDF inference will not return an answer to the query to retrieve all staff members, i.e. (?x , rdf : type, myUniv : Staff) because there is no triple matching this pattern. RDFS will return the instances of the TeachingAssistant class using the rule (called the “type propagation” rule) If E contains the triples (?x, rdf : type, ?u) and (?u, rdfs : subClassOf, ?v) Then E also contains the triple (?x, rdf : type, ?v) 30

  31. Types of inferences in SW applications 1. Class membership: if x is an instance of class C, and C is a subclass of D, we want to infer that x is an instance of D. Equivalence of classes: If class A is equivalent to class B, and class B is equivalent of class C, then A is equivalent to C. Classification: if a property-value pair is declared to be a sufficient condition for membership in class A, then if individual x satisfies this condition, x must be an instance of A. Consistency: if x is declared to be an instance of class A where A  B  C, A  D , and B  D = , then the ontology is inconsistent because class A must be empty but instead x  A. 2. 3. 4. 31

  32. Multiple inheritance and RDFS Consider the rule If E contains the triples (?x, rdf : type, ?u) and (?u, rdfs : subClassOf, ?v) Then E also contains the triple (?x, rdf : type, ?v) Assume the following triples a. “Bob” rdf : type myUniv : TeachingAssistant . b. “Bob” rdf : type myUniv : Student . c. myUniv: TeachingAssistant rdfs : subClassOf myUniv: Staff . From a. and c. and the above rule will can derive “Bob” rdf : type myUni : Staff . The later may be inconsistent with b. if Staff and Student are supposed to be disjoint classes. But disjointness of classes cannot be expressed in RDFS. In RDFS, if ?A is subClassOf ?B, and ?A is subClassOf ?C, then any individual ?x that is a member of ?A will also be a member of ?B and ?C. That is, the range definitions in RDFS are not used to restrict the range of a property, but to infer the membership of the range. 32

  33. What can we deduce in RDFS? In summary, the inference capabilities of RDFS are limited to the following : 1. Given the domain and the range of a property, we can deduce: • Class membership from the domain of a property. • Class membership from the range of a property. Example: given that “Course isTaughtBy Professor” and “Math101 isTaughtBy Jones”, we can derive that Math101 Professor. Given a class hierarchy, we can deduce superclass membership. Example: given that Professor Staff and Jones derive that Jones Staff. Given a property hierarchy, we can deduce new facts from subproperty relationships. Example: from teachAt “Jones teachAt CCSU” we can derive that “Jones employedBy CCSU” Course, and Jones 2. Professor, we can 3. emplyedBy and 33

  34. What cannot we deduce in RDFS? 1. We can’t say that two classes are disjoint, i.e. we can define Student and Staff as subclasses to Person class, but can say that they are disjoint. Property range is defined globally for all classes, we can’t declare range restrictions that apply to some classes only, i.e. exceptions are not allowed. We can’t build Boolean combinations of classes. For example, we may want to declare a new class, person, which is disjoint union of classes male and female. Cardinality restrictions are not allowed. For example, we can’t say that a person has exactly two parents, or a class has exactly one instructor. We can’t declare a property to be inverse of another property, transitive, functional, etc. 2. 3. 4. 5. 34

  35. SPARQL: a query language for RDF and RDFS SPARQL is based on RDF Turtle serialization and basic graph pattern matching algorithm. Example: PREFIX rdf : <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs : <http://www.w3.org/2000/01/rdf-schema#> SELECT ?c WHERE { ?c rdf : type rdfs:Class . } This query retrieves all classes. 35

  36. Using SPARQL 36

  37. What can we do with SPARQL? 1. Extract data as RDF subgraphs, URIs, blank nodes, etc. 2. Explore data via query for unknown relations. 3. Transform RDF data from one vocabulary into another 4. Construct new RDF graphs based on RDF query graphs 5. Update RDF graphs 6. Do logical entailment for RDF, RDFS, and OWL 7. Do federated queries over deferent SPARQL endpoints 37

  38. Basic query 38

  39. … and the result 1. Comes next 39

  40. Another example 40

  41. … and the result 41

  42. Ontologies and the Semantic Web “An ontology is an explicit, formal specification of a shared conceptualization. The term is borrowed from philosophy, where an ontology is a systematic account of existence. For AI systems, what ‘exists’ is that which can be represented.” T. Gruber, 1993. Ontologies are represented via Classes, Relationships, and Instances. Constrains can be imposed on relationships to define allowed values. There are several types of ontologies (see textbook, pp. 462 – 468: Internet shopping world example) • Upper (top-level) ontologies, representing concepts such as space, time, event, etc. that are universally valid. • Domain ontologies, representing concepts in a generic domain. • Task ontologies, representing concepts related to a particular task. • Application ontologies, representing specific application task-oriented domains. 42

  43. An Ontology Example Source: http://www.sei.cmu.edu/isis/guide/gifs/fruit-ontology.gif 43

  44. OWL: The Web Ontology Language  The original OWL language, OWL 1, was intended to provide a richer expressiveness compared to RDFS which is why it was based on SHOIN(D) logic. More expressive power, however, may lead to undesirable computational properties which is why OWL 1 was designed in 3 different flavors to address different knowledge representation needs: 1. OWL Full: fully compatible with RDFS which is further extended with cardinality constraints and other means for maximum expressivity, BUT the language is undecidable. OWL DL: subset of OWL Full to allow for efficient reasoning, but is not fully compatible with RDFS. OWL Lite: subset of OWL DL that does not allow for enumerated classes, disjointness and arbitrary cardinality. 2. 3.  The latest version of OWL, OWL 2, is based on SROIQ(D) logic. It also comes in different flavors: OWL EL, OWL RL, OWL QL, which are all subsets of OWL 2 DL, which turn is a subset of OWL 2 Full.  OWL is based on the Open World Assumption, which states that the absence of information is not the reason to assume that this information is false.  OWL does not rely on the Unique Name Assumption (which is the case with data bases), i.e. if two names are not explicitly stated to be different, they may refer to the same individual. 44

  45. OWL RDF/RDFS relation rdfs: Resource rdfs:Class rdf:Property owl:Class owl:ObjectProperty owl:DatatypeProperty OWL uses RDF syntax. owl:Class, owl:DatatypeProperty, and owl:ObjectProperty are specializations of rdfs:Class and rdf:Property, respectively. 45

  46. OWL 1 Syntax OWL 1 is based on the SHOIN(D) logic, which provides for the following expressiveness:  The TBox defines subsumption relationships between classes (ex. C ⊑ D)  The ABox contains facts about class membership (ex. C(a), C(b)), properties relations (ex. R(a, b)), equality and difference relations between individuals (ex. a = b, a b)  The RBox defines subsumption/inclusion relationships between properties (ex. R ⊑ S), inverse properties (ex. R -), and transitivity properties (ex. R ⊑ + R)  Class constructors: conjunction (C ⊓ D), disjunction (C ⊔ D), negation (  Property restrictions – universal ( R . C) and existential (  Number restrictions -- n R (maxCardinality) and n R (minCardinality) Examples: 1 hasChild In FOL: 1 hasChild In FOL:  Closed classes (nominals} – {a}  Datatypes C) R . C) ny hasChild(x, y) ny hasChild(x, y) 46

  47. OWL 2 Syntax OWL 2 is based on the SROIQ(D) logic, which provides for the following additional expressiveness compared to OWL 1:  The TBox allows also for: equivalence relationships between classes (ex. C and for a special class expression Self: n S . C  New features:  The ABox allows also for negated property relations (ex.  The RBox may contain in addition to simple properties, inverse properties (ex. R -) and universal properties (U) and also allows for general inclusion (ex. R1 R2⊑ S), symmetry, reflexivity, irreflexivity and disjunctiveness of properties. D) S.Self. We can also state n S . C and R(a, b)) There are different syntax versions of OWL 2:  Functional syntax (substitutes the abstract syntax of OWL 1)  RDF/XML syntax (extends the existing OWL/RDF syntax)  OWL/XML syntax (new XML serialization)  Manchester syntax (machine readable intended for ontology editors)  Turtle syntax (human readable) 47

  48. OWL 2 Syntax OWL 2 is based on the SROIQ(D) logic, which provides for the following additional expressiveness compared to OWL 1:  The TBox allows also for:  equivalence relationships between classes (ex. C  disjoint union (ex. Every person is either male or female BUT NOT both.)  disjoint classes (ex. No one can be a member of any pair of classes from a given set – say, Faculty, Student, Staff)  Self restriction: a special class expression Self: “Optimists are people who believe in themselves”  Qualified cardinality restrictions n R . C and n R . C Examples: “Man with exactly three sons”, “Each student has at most one ID number”.  The ABox allows also for negated data and object properties (ex.  The RBox may contain in addition to simple properties, inverse properties (ex. R -) and universal properties (U) and also allows for general inclusion, property chains (ex. R1 R2⊑ S), symmetry, reflexivity, irreflexivity and disjunctiveness of properties. D) R.Self. Example: R(a, b)) 48

  49. Want to build an OWL ontology yourself? Although some of OWL serializations are not very hard to use in an application-development setting, there are ontology editor applications that are easy to learn and much more efficient ontology development tools. My #1 choice is PROTÉGÉ, developed at Stanford University and freely available at http://protégé.stanford.edu. It comes is two versions:  Web application  Desktop application Both come with extensive documentation, including Ontology Development 101: A Guide to Creating Your First Ontology @ http://protegewiki.stanford.edu/wiki/Ontology101 49

More Related