33
Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구구구 김김김 김김김 김김김 김김김

Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Embed Size (px)

Citation preview

Page 1: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Working Ontologist Ch. 9 Using RDFS-Plus in the wild

구해모 김윤승 박상훈 송용주 임유빈

Page 2: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Open Government Data Friend of a Friend (FOAF) Facebook’s Open Graph Protocol (OGP)

Contents

2 / 34

Page 3: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

To publish public information by US government from 2009‒ Data sets available in various machine-readable formats

Good example of “raw” data‒ Not for particular application‒ Reusable in multiple applications

Recent status (2015.11.28)‒ 188,535 data sets‒ 78 Agencies & 415 publishers‒ 7071 datasets available in RDF‒ Latest update on 2015.11.28

Open Government Data – Data.gov

3 / 34

Page 4: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

정부 3.0 패러다임의 영향 16 개 분야 20,050 개 데이터 셋 다양한 데이터 형식 지원

‒ CSV, XML, RDF …

www.data.go.kr

공공 데이터 포털

4 / 34

Page 5: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Office of Fair Housing/Equal Opportunity (FHEO) dataset‒ Cases about alleged violations of Title VIII Fair Housing Act‒ Originally released in spreadsheet

Describing Data [1/5]

original dataset:entry1 a dgtwc:DataEntry ; :case_number “03-08-0177-8" ; :color "0" ; :disability "1" ; :familial_status "0" ; :filed_cases "1" ; :filing_date “1/1/2008" ; :national_origin "0" ; :national_origin_hispanic "0" ; :race "0" ; :race_asian "0" ; :race_asian_and_white "0" ; :race_black_and_white "0" ; :race_black_or_african_american "0" ; :race_hawaiian_or_pacific_islander "0" ; :race_native_american "0" ; :race_native_american_and_black "0" ; :race_native_american_and_white "0" ; :race_other_multi_racial "0" ; :race_white "0" ; :religion "0" ; :retaliation "0" ; :sex "0" ; :violation_county “Sussex County" ; :violation_state “Delaware" .5 / 34

Page 6: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

More flexible way to represent information as complaintsFHEO:Color rdfs:subClassOf FHEO:Complaint .

FHEO:Disability rdfs:subClassOf FHEO:Complaint .

FHEO:FamilialStatus rdfs:subClassOf FHEO:Complaint .

FHEO:NationalOrigin rdfs:subClassOf FHEO:Complaint .

...

Express status of :entry1:entry1 a FHEO:Disability .

Modification on data with SPARQL

CONSTRUCT {?e a FHEO:Disability}WHERE {?e a dgtwc:DataEntry .

?e :disability "1" . }

Describing Data [2/5]

Complaint

Disability

subClassOf

entry1

6 / 34

Page 7: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Relationship between data‒ Is :race_Asian listed under :race?‒ Check with SPARQL query

ASK

{?a a FHEO:Asian .

UNSAID {?a a FHEO:Race}}

FHEO:Asian rdfs:subClassOf FHEO:Race .

Describing Data [3/5]

Asian

Race

FALSE

Asian Race

TRUE

7 / 34

Page 8: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Check whether any members aren’t members of parents

Describing Data [4/5]

SELECT (COUNT (?suball) AS ?total)(COUNT (?subonly) AS ?mismatch) ?class ?parentWHERE { ?class rdfs:subClassOf+ FHEO:Complaint . ?class rdfs:subClassOf ?parent . FILTER (?parent != FHEO:Complaint) { {?suball a ?class} UNION {?subonly a ?class . UNSAID{?subonly a ?parent} } }}GROUP BY ?class ?parent

8 / 34

Page 9: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Result table

Describing Data [5/5]

9 / 34

Page 10: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Complaint with location information in FHEOFHEOFiling:entry13459

a FHEO:FamilialStatus ;

FHEO:violation_county "Los Angeles County" ;

FHEO:violation_state "California" .

Other data source for location information‒ Address services with various information

US:Los_Angeles_CountyCalifornia

a US:County ;

rdfs:label "Los Angeles County, California" ;

geo:lat "34.3871821"^^xsd:float ;

geo:long "-228.1122679"^^xsd:float .

Merging Data – FHEO [1/5]

34.39-228.11

LA_CountyCalifornia

LA County, California

US:County

label

latlong

entry13459

LA County

California

county

state

10 / 34

Page 11: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Get combined name of county & state from complaintSELECT (fn:concat (?county, ", ", ?state) AS ?countyname)

WHERE {

?complaint FHEOFiling:violation_county ?county .

?complaint FHEOFiling:violation_state ?state .

}

Query for complaint with various location informationSELECT ?countyname ?complaint ?lat ?long

WHERE {

{SELECT (fn:concat (?county, ", ", ?state) AS ?countyname)

WHERE {

?complaint FHEO:violation_county ?county .

?complaint FHEO:violation_state ?state .

}

}

?c rdfs:label ?countyname .

?c a US:County .

?c geo:lat ?lat .

?c geo:long ?long

}

Merging Data – FHEO [2/5]

location information

LA County

California

LA County, California

11 / 34

Page 12: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

How many complaints occurred in each county

Merging Data – FHEO [3/5]

SELECT ?type (COUNT (?complaint) AS ?severity) ?countyname ?lat ?longWHERE {

{SELECT ?type ?complaint (fn:concat (?county, ", ", ?state)AS ?countyname)

WHERE {?type rdfs:subClassOf+ FHEO:Complaint .?complaint a ?type .?complaint FHEO:violation_county ?county .?complaint FHEO:violation_state ?state .

}}?c rdfs:label ?countyname .?c a US:County .?c geo:lat ?lat .?c geo:long ?long .

}GROUP BY ?type ?countyname ?lat ?longHAVING (?severity > 300)

location information

12 / 34

Page 13: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Result table of previous query

Merging Data – FHEO [4/5]

13 / 34

Page 14: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Put result on a map

Merging Data – FHEO [5/5]

14 / 34

Page 15: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Fundamental relationship in social networks

Simple observation for individuals to support social network‒ Take control of own data‒ Interact with other users

AAA principle‒ Anyone can say Anything about Any topic‒ Topics commonly related to about people‒ Core FOAF description

Organization (people belong to) Project (people work on) Document (people create or describe) Image (depict people)

Friend of a Friend (FOAF)

15 / 34

Page 16: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Format for distributed description of people & relationship Distributed person’s information across Web

‒ Basic information on own web page About interest, current projects, images, etc.

‒ Further information available on other pages Photo at party which is not listed on own page Laboratory page for list of members

FOAF

Name AAge 25Mail [email protected]

A’s Web page

Z lab’s member

ABC

Z lab’s Web pagePicture with A

on other Web page16 / 34

Page 17: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Some things about people are true of other things‒ Groups, organizations, etc.

General grouping of foaf:Agent

FOAF – People & agents

Agent

Person OrganizationGroup

subClassOf

gender, mbox, age, birthday, etc.

famliyName,firstName, etc

member

17 / 34

Page 18: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Essential thing about a person Anything can have name, printable label

foaf:name rdfs:domain owl:Thing.

foaf:name rdfs:subPropertyOf rdfs:label.

Parts of name are also neededfoaf:firstName foaf:givenname foaf:family_name foaf:surname

Covering different cultures’ usage of name‒ If 2 properties are used in same

foaf:surname owl:equivalentProperty foaf:family_name.

FOAF - Name

18 / 34

Page 19: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Since FOAF is used on the Web, Many people will be used to describe internet communities

‒ foaf:aimChatID, foaf:icqChatID, foaf:msnChatID, etc.

subProperty of foaf:nick

Nicknames and Online Names

19 / 34

Page 20: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

foaf:homepage‒ Relates a person to their homepage

foaf:wolkplaceHomepage‒ The homepage of the worklplace of a person

foaf:workInfoHomepage‒ The homepage of a person at their workplace

foaf:schoolHomepage‒ The school that a foaf:Person attended

foaf:weblog‒ The address of the web blog of a person

Online Persona

20 / 34

Page 21: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Many people belong to special groups Connected to a group with foaf:member Group can be defined loosely A number of properties that can describe foaf:Group

‒ Chat ID, a nickname, and e-mail box, a homepage, or even a blog

Group members to instance of a class‒ Consider the members of a group as instances of a class‒ FOAF provides a link from a group to a Class, called

foaf:membershipClass

Groups of People [1/2]

21 / 34

Page 22: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Define English Monarchy Group

Below can be inferred

Groups of People [2/2]

:English_Monarchy

a foaf:Group ;

foaf:name "English Monarchy" ;

foaf:homepage "http://www.monarchy.com/" ;

foaf:member :William_I, :Henry_II,

:Elizabeth_I, :Elizabeth_II .

:English_Monarchy foaf:membershipClass :Monarch .

:William_I a :Monarch .

:Henry_II a :Monarch .

:Elizabeth_I a :Monarch .

:Elizabeth_II a :Monarch .

22 / 34

Page 23: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

FOAF provides two properties ‒ foaf:made and foaf:maker

Things People Make and Do

foaf:made rdfs:domain foaf:Agent .

foaf:made rdfs:range owl:Thing .

foaf:maker rdfs:domain owl:Thing .

foaf:maker rdfs:range foaf:Agent .

foaf:made owl:inverseOf foaf:maker .

foaf:Agent

owl:Thing

foaf:made

foaf:maker

23 / 34

Page 24: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

If someone else wants to contribution information about me, how will that person refer to me?‒ RDF uses URIs

But not everyone has Facebook account

Is there any identifying marker that everyone on the Internet already has?‒ E-mail address

Identity in FOAF [1/3]

https://www.facebook.com/zuck

24 / 34

Page 25: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

owl:InverseFunctionalProperty

‒ uniquely identifies an individual foaf:mbox rdf:type owl:InverseFunctionalProperty.

Mailbox is unique identifier‒ No other people uses same e-mail address

In addition, all chatId have owl:InverseFunctionalProperty

Identity in FOAF [2/3]

foaf:aimChatID rdf:type owl:InverseFunctionalProperty.

foaf:homepage rdf:type owl:InverseFunctionalProperty.

foaf:icqChatID rdf:type owl:InverseFunctionalProperty.

foaf:jabberID rdf:type owl:InverseFunctionalProperty.

foaf:msnChatID rdf:type owl:InverseFunctionalProperty.

foaf:weblog rdf:type owl:InverseFunctionalProperty.

foaf:yahooChatID rdf:type owl:InverseFunctionalProperty.

25 / 34

Page 26: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

To solve problem‒ Using the foaf:mbox

Publishing someone’s e-mail address is considered a violation of privacy‒ [foaf:mbox "[email protected]"]‒ Using hash function

[foaf:mbox_sha1sum "f964f2dfd4784fe9d68a-da960099e0b592e16a95"]

‒ FOAF does not provide a standard way foaf:aimChatID, foaf:yahooChatID

Identity in FOAF [3/3]

26 / 34

Page 27: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

FOAF provides a single property for this relationship foaf:knows

FOAF designers intentionally left out the assertion of foaf:knows as an owl:SymmetricProperty

It’s Not What You Know, It’s Who You Know

foaf:knows rdfs:domain foaf:Person.

foaf:knows rdfs:range foaf:Person.

foaf:Person

foaf:Person

foaf:knows

27 / 34

Page 28: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

FOAF the longest, Facebook the largest social network Open Graph Protocol (OGP)

‒ Allows to integrate with other web sites

Before OGP, only “Like” a page on Facebook Expand to include pages that weren’t part of Facebook

Facebook’s Open Graph Protocol

28 / 34

Page 29: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Very simple model allowing web page author to describe mul-tiple things web pages describe

Properties to describe the things one might like‒ Describe location (place names, latitude and longitude)‒ Display purposes (image)‒ Contact information (phone number, email, fax number)‒ Identifier (UPC, ISBN, or URL)

Criticized for not adopting existing standards for theses things‒ Ex. W3C already has a standard for geospatial models

The OGP Model

29 / 34

Page 30: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Using the simple OGP model ‒ Web page author can describe what their page is about ‒ Still have to publish that information somehow

Easiest way is to embed description in web page itself

Use simplified version RDFa to encode OGP data in web page‒ Put all OGP data into HTML tags in page header

Embedding OGP in a Web Page

30 / 34

Page 31: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

OGP Example: TechCrunch [1/2]

31 / 34

Page 32: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

OGP Example: TechCrunch [2/2]

32 / 34

Page 33: Working Ontologist Ch. 9 Using RDFS-Plus in the wild 구해모 김윤승 박상훈 송용주 임유빈

Data.gov‒ Project to make US government spending data available in RDF

FOAF‒ Representation social network information short for “friend of a friend”

RDFa‒ A system for embedding RDF data in a web page

OGP‒ Lets Facebook users link to pages outside of Facebook

Summary

33 / 34