Knowledge Representation Part IV The Semantics Web Starting with XML Jan Pettersen Nytun, UiA Jan Pettersen Nytun, UIA, page 1
S O P The Semantic Web • A W3C recommendation. • Common data formats. • Allow specification of data about data - which again allows automatic reasoning. • Globally unique ids by using the addressing mechanism of the web. Jan Pettersen Nytun, UIA, page 2
S Some of the W3C hold Specifications O P – HTML – OWL – RDF – SOAP – SPARQL – SVG – XHTML – XML – XPath – … Jan Pettersen Nytun, UIA, page 3
The Semantic Web S O P Language Stack Hierarchy of languages, where each layer exploits and uses capabilities of the layers below. / XML Schema Jan Pettersen Nytun, UIA, page 4
S O P About Semantic Web Languages • Can use XML syntax – E.g., XML Schema can define an element type (~ class) with help of XML syntax. • One language may constrain a lower level language – E.g., XML Schema limits XML. • One language may extend a lower level language – E.g., RDF Schema (RDFS) extends XML Schema with a richer vocabulary. Jan Pettersen Nytun, UIA, page 5
S O P EXtensible Markup Language (XML) / XML Schema Jan Pettersen Nytun, UIA, page 6
XML • XML is a general format while html is meant for human readable web pages! • XML has no fixed tag vocabulary – hence, users can define their own custom element and attribute names. • It has some keywords, e.g., xmlns . Jan Pettersen Nytun, UIA, page 7
S O P XML Syntax in Well-formed Documents • The document must have exactly one root element . The following is a well- formed XML document: <journal> This is a journal. </journal> start-tag content end-tag • The basic syntax for one element is: <name attribute="value“… > content </name> • The following is also correct syntax: <journal txt=“This is a journal .” /> Jan Pettersen Nytun, UIA, page 8
S XML Syntax Continues… O P The root element can be preceded by an optional XML declaration . E.g., <?xml version="1.0" encoding="UTF-8" ?> There may be elements inside elements, but XML requires that elements be properly nested, i.e., no overlap. Example: Start-tag and end-tag of element medicalsystem Attribute <medicalsystem> <journal name=“Ola Norman" id=“1"> <journalrecord>May be a little overweight</journalrecord> </journal> <journal name=“Kari Norman" id=“2"> <journalrecord>Lack of iron.</journalrecord> <journalrecord>A slight attack of shopomania?</journalrecord> </journal> </medicalsystem> Jan Pettersen Nytun, UIA , page 9
S O P xmlns - XML Namespace Gives unique names to elements and attributes. xmlns can be used to solve name conflicts inside one xml page, e.g., “table” may be a furniture or a data structure. Jan Pettersen Nytun, UIA, page 10
S O Namespace Examples P An xml name space is often a web address. The address may go to a none existing web page - only the URI (URL) addressing mechanism is used. [1]: <root xmlns:h =“http://www.w3.org/TR/html4/” xmlns:f="http://www.w3schools.com/furniture" > <h:table> …. </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root> Jan Pettersen Nytun, UIA, page 11
S O XML - UML P Medical System UML Model :Journal :JournalRecord name=“Ola” description=“May be a little bit fat?” SSN=“1” * Journal JournalRecord 1 :Journal :JournalRecord name:String description:String name=“Kari” description=“Lack of iron.” SSN:String SSN=“2” :JournalRecord Data description=“A slight attack of shopomania?” <medicalsystem> <journal name=“Ola Norman" ssn=“1" > <journalrecord> May be a little bit fat? </journalrecord> </journal> <journal name=“Kari Norman" ssn=“2" > <journalrecord> Lack of iron. </journalrecord> <journalrecord> A slight attack of shopomania? </journalrecord> </journal> </medicalsystem> Jan Pettersen Nytun, UIA, page 12
S The Document Object Model (DOM) O P A cross-platform and language-independent application programming interface that treats an HTML, XHTML, or XML document as a tree structure wherein each node is an object representing a part of the document. Jan Pettersen Nytun, UiA, page 13
What is meant with the following statement: “XML is Syntax”? Syntax: … the rules about how words are arranged and connected to make phrases and sentences… Jan Pettersen Nytun, UIA, page 14
S O P XML “is Syntax” • Custom tags like <musician> , and <record> can make XML documents at least partly self- described to humans. • But what is meant by a tag, e.g., < musician>, is not given (the term “musician” is used but not explained) . Jan Pettersen Nytun, UIA, page 15
S From Wikipedia: O P XML is a generic framework for storing text or any data whose structure can be represented as a tree. Why a tree? <medicalsystem> <journal name=“Ola Norman" id=“1"> <journalrecord>May be a little overweight</journalrecord> </journal> <journal name=“Kari Norman" id=“2"> <journalrecord>Lack of iron.</journalrecord> DirectedTree <journalrecord>A slight attack of shopomania? </journalrecord> 0..1 </journal> </medicalsystem> topRoot 0..1 1 root Node child * edge Jan Pettersen Nytun, UIA, page 16
<medicalsystem> <journal name= “Ola Norman" id =“1"> <journalrecord>May be a little overweight</journalrecord> </journal> <journal name= “Kari Norman" id= “2" > <journalrecord>Lack of iron.</journalrecord> <journalrecord>A slight attack of shopomania? </journalrecord> </journal> </medicalsystem> medicalsystem journal journal name id journalrecord name id journalrecord journalrecord “Ola Norman" “1" “Kari Norman" “2" “Lack of iron." “May be a little overweight " “A slight attack of shopomania?" Where did the end-tags go? What about the order of things? Jan Pettersen Nytun, UIA, page 17
S O P Element Attribute Text content Node * Building blocks for name : String defining an XML document (Using UML) 0..1 Attribute Element container textContent : String value : String (A bit simplified)
An XML Schema functioning as model Example (simplified): <xsd:schema …. > <xsd:element name = “Building” type = “ BuildingType ”/> <xsd:complexType name=" BuildingType"> <xsd:attribute name=“name" type=" xsd:string"/> <xsd:attribute name=“area" type=" xsd:integer"/> </xsd:complexType> XML document (= instance of some XML schema)): <?xml version=1.0” …> … <Building name=“BlueBox" area = 300/> ….. Jan Pettersen Nytun, UIA, page 19
S O P URI [1] • A URI (a Uniform Resource Identifier ) is used to uniquely identify a resource . • A URI is a string that refers to a resource, such as a web page, a person, or a corporation. In some cases it is just a web address (where there are no content). Jan Pettersen Nytun, UIA, page 20
S Uniform Resource Locator (URL) O P From Wikipedia: … a URL is a subset of URI that specifies where an identified resource is available and the mechanism for retrieving it… … often incorrectly used as a synonym for URI… Jan Pettersen Nytun, UiA, Ontologies, page 21
S O P URI/URL [1] • Often URIs use the syntax of web addresses since they are unique. • A "#" in a URI denotes an individual that is referred to on a web page. For example, http://cs.ubc.ca/ ∼ poole/foaf.rdf#david denotes the individual david referred to in http://cs.ubc.ca/ ∼ poole/foaf.rdf. Jan Pettersen Nytun, UIA, page 22
S References O P [1] Book: David Poole and Alan Mackworth, Artificial Intelligence: Foundations of Computational Agents , Cambridge University Press, 2010, http://artint.info/ Jan Pettersen Nytun, UIA, page 23
Recommend
More recommend