Semantic web
Download
1 / 18

Semantic Web - PowerPoint PPT Presentation


  • 108 Views
  • Uploaded on

Semantic Web. Series 1 Mohammad M. R. Cowdhury UniK, Kjeller. Contents. Semantic Web RDF RDF: labeled edge FOAF FOAF syntax FOAF syntax: defining group FOAF syntax: linking two persons FOAF syntax: merging two foaf files Further issues. Semantic Web.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Semantic Web' - kevork


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Semantic web

Semantic Web

Series 1

Mohammad M. R. Cowdhury

UniK, Kjeller


Contents
Contents

  • Semantic Web

  • RDF

  • RDF: labeled edge

  • FOAF

  • FOAF syntax

  • FOAF syntax: defining group

  • FOAF syntax: linking two persons

  • FOAF syntax: merging two foaf files

  • Further issues


Semantic web1
Semantic Web

  • Express the data and meaning in standard machine-readable format, make data easier for machine to find, access and process ---- >

    semantic Web approach

  • Semantic Web allows machines to integrate data scattered around the web (web of data)

  • It provides framework to share data on the web across application boundaries.

  • Summary: The Semantic Web enables computers to seek out knowledge distributed throughout the Web, mesh it, and then take action based on it ---- > make useful for human ends.


RDF

  • The issues are to create relations among resources (data/knowledge) on the web and to interchange/share those data.

  • Resource description framework (RDF) is the W3C standard for encoding knowledge. The most exciting uses of RDF aren't in encoding information about web resources, but information about and relations between things in the real world: people, places, concepts, etc.

  • The RDF Specifications build on URI and XML technologies (XML-based syntax for encoding).

  • RDF provides a general, flexible method to decompose knowledge into small pieces (triplets: subject, predicate and object), with some rules about the semantics (meaning) of those pieces.

  • RDF statement is a directed, labelled graph. Each edge (in the graph) represents relation between two things/a fact.


Rdf labeled edge
RDF: labeled edge

  • The edge in the example from the node Mushfiq labeled Member of to the node Communication group represents the fact that Mushfiq is a member of “Communication group"

  • Triplets: A fact represented this way has three parts: a subject (start of the edge: Mushfiq), a predicate (label of edge: Member of), and an object (end of the edge: Communication group).


Observation expectation
Observation --- expectation

  • Mushfiq, Josef each having documents containing pictures and papers --- decentralized

  • Mushfiq, Josef members of Communication group of UniK, can access each other’s conf. papers but cant access the pictures, only family members can see these ---- partition data, add privacy

  • Mushfiq knows Manav. So, Manav can see which group Mushfiq belongs to. But cant see the other members of the group (Manav not a member of Communication group). ----- add privacy


FOAF

  • FOAF: Friend of a friend, technically it is an RDF/XML vocabulary, FOAF uses RDF to encode its descriptions.

  • Community driven effort

  • FOAF documents are machine readable/processable web pages to describe people (about themselves, their interests, location etc.) and relations to computers (so computers can interpret it).

  • It is a useful building block/tool to manage communities (ex. Community directory ---- > if everyone in an online community submits a URL pointing to a FOAF file, it is possible to spider them into a reasonable community directory)

  • In FOAF vocabulary, a FOAF file contains link (--- > see also) to other files create a unified database of information


Foaf syntax
FOAF Syntax

  • Class

    • Subclass

      • Property

  • Classfoaf:agent

  • Subclass foaf:person subclass of foaf:agent represents person; all people are considered agent in FOAF. More example – foaf:document, foaf:image

  • foaf:group represents a collection of individual agents (persons)

  • Propertyfoaf:name, foaf:mbox, foaf:homepage, foaf:nick (nickname), foaf:depiction properties of foaf:person

  • foaf:name A name of something, simple texttual string

  • foaf:mbox A personal mailbox

  • foaf:mbox_Sha1sum Applying SHA1 function to a mail

  • foaf:homepage A homepage for something

  • Foaf:workplacehomepage A homepage of workplace of a person

  • foaf:img Image of something


Foaf syntax cont
FOAF Syntax (cont.)

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/">

<foaf:Person>

<foaf:name >Edd Dumbill</foaf:name>

<foaf:mbox rdf:resource="mailto:[email protected]" />

<foaf:nick >edd</foaf:nick>

<foaf:workplacehomepage rdf:resource="http://xml.com/" />

<foaf:depiction rdf:resource="http://heddley.com/edd/images/edd-shoulders.jpg"/>

</foaf:Person>

</rdf:RDF>

  • Example of use of FOAF vocabulary, class, properties.


Foaf syntax defining group
FOAF Syntax: defining group

  • Example of defining a group in FOAF files

  • Lets see a RDF statement ---- a labelled graph

Subject

object

ILRT Staff

Libby Miller

member

predicate

homepage

workplace homepage

http://www.ilrt.bris.ac.uk/

http://ilrt.org/people/libby/


FOAF Syntax: defining group

Subject

(rdf line is ignored)

<foaf:Group>

<foaf:name>ILRT staff</foaf:name>

<foaf:member>

<foaf:Person>

<foaf:name>Libby Miller</foaf:name>

<foaf:homepage rdf:resource="http://ilrt.org/people/libby/"/>

<foaf:workplaceHomepage rdf:resource="http://www.ilrt.bris.ac.uk/"/>

</foaf:Person>

</foaf:member>

</foaf:Group>

  • foaf:Group representing those people who are ILRT staff members.

  • foaf:member property of the foaf:Group to indicate the agents (person) that are members of the group

  • the rule is that all group members are in the ILRTStaffPerson class, which is in turn populated by all those things that are a foaf:Person and which have a foaf:workplaceHomepage of http://www.ilrt.bris.ac.uk/

predicate

object


Foaf syntax linking two persons
FOAF Syntax: linking two persons

  • foaf:knows Interesting property, can be used to link two people together

    ”Edd knows a person who has the mailbox [email protected] and the name of the person is Simon St.Laurent.” ---- > lets see the code


Foaf syntax linking two persons1
FOAF Syntax: linking two persons

<foaf:Person>

<foaf:name>Edd Dumbill</foaf:name>

<foaf:mbox rdf:resource="mailto:[email protected]" />

...

<foaf:knows>

<foaf:Person>

<foaf:mbox rdf:resource="mailto:[email protected]" /> <foaf:name>Simon St.Laurent</foaf:name>

</foaf:Person>

</foaf:knows>

</foaf:Person>

  • FOAF will use the mailboxes to actually make the link to Simon, rather than any other property.

  • A program can link facts together by virtue of the shared foaf:mbox property.

    ----- > merging of two files is also possible


Foaf syntax merging two foaf files
FOAF Syntax: merging two foaf files

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/">

<foaf:Person>

<foaf:name>Edd Dumbill</foaf:name>

<foaf:mbox rdf:resource="mailto:[email protected]" />

</foaf:Person>

<foaf:Person>

<foaf:name>Simon St.Laurent</foaf:name>

<foaf:mbox rdf:resource="mailto:[email protected]" />

</foaf:Person>

<foaf:Person> <foaf:name>Eric van der Vlist</foaf:name>

<foaf:mbox rdf:resource="mailto:[email protected]" />

</foaf:Person>

</rdf:RDF>

A simple description of three colleagues using individual foaf:mbox

  • The next file indicating depiction of two people (Edd and Simon) --- > We will see merging/linking usingfoaf:mbox


Foaf syntax merging two foaf files1
FOAF Syntax: merging two foaf files

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/">

<foaf:Person>

<foaf:mbox rdf:resource="mailto:[email protected]" />

<foaf:depiction rdf:resource="http://example.org/photos/edd+simon.jpg" /> </foaf:Person>

<foaf:Person>

<foaf:mbox rdf:resource="mailto:[email protected]" />

<foaf:depiction rdf:resource="http://example.org/photos/edd+simon.jpg" /> </foaf:Person>

</rdf:RDF>

  • Simon and Edd are both depicted in a particular photograph available at http://example.org/photos/edd+simon.jpg

  • To process (merging of the last two FOAF files) the data, enforce the rule “If person A has the same foaf:mbox property as person B, then A and B are the same entity.”

  • After this processing has been done, what the system knows --- > next page


Foaf syntax merging two foaf files2
FOAF Syntax: merging two foaf files

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/">

<foaf:Person>

<foaf:name>Edd Dumbill</foaf:name>

<foaf:mbox rdf:resource="mailto:[email protected]" />

<foaf:depiction rdf:resource="http://example.org/photos/edd+simon.jpg" /> </foaf:Person>

<foaf:Person>

<foaf:name>Simon St.Laurent</foaf:name>

<foaf:mbox rdf:resource="mailto:[email protected]" />

<foaf:depiction rdf:resource="http://example.org/photos/edd+simon.jpg" /> </foaf:Person>

<foaf:Person>

<foaf:name>Eric van der Vlist</foaf:name>

<foaf:mbox rdf:resource="mailto:[email protected]" />

</foaf:Person>

</rdf:RDF>


Foaf syntax merging two foaf files3
FOAF Syntax: merging two foaf files

  • By aggregating and merging the FOAF files, you can achieve the same effect as operating a centralized directory service.

  • Attractive features for many communities for which decentralized or developed control is requirement.


Further issues
Further issues

  • How can you control the data so it stays within a community of trust?

  • How can you partition data so some information remains private (for instance, ”Person X distrusts person Y”), while other information is published to the world?


ad