SlideShare a Scribd company logo
1 of 7
Download to read offline
Semantic User Profiles

                         Ancuta Ionel, Sorin Alexandru Damian

       Abstract. This paper describes how the application associated with it works,
       from the premises from which the authors started, the techniques they applied
       and ending the results obtained in specifying from a semantic point of view a
       profile belonging to an user from Faculty of Computer Science Iasi. It also
       describes security issues that can appear and how they could be overcome. A
       summary of programming techniques are presented and applied in the study
       case - the application that completes the paper.

       Keywords: SPARQL endpoint, RDFa, DCMI, FOAF, semantic web




1      Introduction

Exposing profile information for all the Faculty of Computer Science accounts in a
machine readable format like RDF XML requires gathering information from
multiple systems.
The application is based on information already available to all faculty members. The
data sources used are the /etc/passwd file on the students’ server that offers basic
information about the account on the server. Detailed information regarding the
LDAP accounts is not directly available. This information was gathered using the
People Search application at http://students.info.uaic.ro/people . This application
provides both html and xml output. The xml was parsed and cached locally in order to
build a triple store that can be queried with SPARQL.


2      Implementation

The application that exposes the SPARQL endpoint and the RDFa annotated profile
information is build using ASP.net MVC for the front end and uses the SEMWEB
library to provide a triple store, RDF/XML serialization and the SPARQL query
engine.
Input data is gathered by parsing a classic unix passwd file to get all the user account
and by crawling the HTML or the XML from the People Search application at
http://students.info.uaic.ro/people
All profile information is linked to the user identity using RDF triples and stored into
a local database for later queries. Let’s say that the profile of the user “sorin.damian”
is crawled and needs to be stored. For all the profile properties we generate and store
triples like:
<http://profiles.sorindamian.ro/people/rdf/sorin.damian
  > foaf:name “Damian T. Sorin-Alexandru”
The relation to the original user profile exposed by people search application at
http://students.info.uaic.ro/people is maintained using the sameAs verb from the
OWL vocabulary
  <http://profiles.sorindamian.ro/people/rdf/sorin.damian
  > owl:sameAs
  <http://students.info.uaic.ro/people/xml/uid/sorin.dami
  an>


The implementation of the profiles crawler and of the profiles endpoint is decoupled
from the implementation of the site and automated unit tests can be used to check for
regressions.

2.1    Exposing the SPARQL endpoint

To expose the endpoint we created a controller who’s action returns the SPARQL
query results in a human readable html format or using RDF/XML notation
depending on the content types in the “Accept” HTML header sent by the requesting
agent.
   When a request is made using a regular web browser is made to the /sparql URL,
the application responds with an html form that allows the user to write and submit a
query. The query results will also be displayed in html by applying a XSL
transformation on the XML resulted from the query.
   RDF capable agents can make requests to the SPARQL endpoint by sending query
parameters in the standard way, which is by encoding the query string and sending it
through the query parameter (eg: /spaql?query=url_encoded_query).

2.2    Content Negotiation

The application can serve the proper representation of the profiles to the users. If a
profile from an URL like <http://profiles.sorindamian.ro/people/rdf/ancuta.ionel> is
requested and the client cannot accept the RDF/XML content type the a 303 redirect
is       made         to      the      human        readable     URL         resource
(http://profiles.sorindamian.ro/people/html/ancuta.ionel)



2.3    Annotating profile descriptions with RDFa

A human readable html page is annotated with linked data using the RDFa
specification. A profile property like the full name of the user can is linked to the user
entity with a XHTML fragment like:
<div class="display-field"
    about=”http://profiles.sorindamian.ro/people/rdf/sorin.
    damian” property="foaf:name">Damian T. Sorin
    Alexandru</div>


3     Usage

3.1   The SPARQL endpoint user interface




3.2   Query results formats

The results are returned in html format for regular web browsers and in RDF format
for browsers that accept the application/sparql-results+xml content type.
3.3   User profiles can be accessed in plain RDF or in RDFa annotated html
3.4   Html profile page with embedded FOAF metadata using RDFa




3.5   RDF output automatically converted to human readable HTML
3.6    RDF profile displayed in Twinkle




4      Security considerations

Exposing personal profile information using both human and machine readable
formats raises additional privacy risks. Special care should be taken when exposing
sensitive information like email address and account names. Such detailed
information should at most be available to authenticated users or based on digital
signatures.
Issues like trust, spam, phishing, and verified semantic web statements are discussed
when it comes to RDFa and not only. Here is the page where a group of passionate
people get together to discuss these concepts: http://rdfa.info/wiki/Security-and-trust .
Regarding the SPARQL endpoint, w3.org signals as security concerns the denial of
service attacks towards the endpoint itself or towards others.
Syntax errors that could reveal sensitive data could be avoided by tempering with
results brought to the user that issues the query and presenting him with a standard
error page.



5      Future

The application could allow the users to further annotate the profile themselves with
linked resources. Users would link their faculty account with their online identity,
using OpenId for example. Also the FOAF vocabulary could be used to associate
users from the same groups or users that are related to each other using information
from the social networking related features in the SharePoint portal at
https://portal.info.uaic.ro


6      References
http://razor.occams.info/code/semweb/

http://www.asp.net/mvc/

http://esw.w3.org/topic/SparqlEndpointDescription

http://dublincore.org/2008/01/14/dcelements.rdf

http://www.foaf-project.org/docs/specs

http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html

http://www.w3.org/TR/rdf-sparql-query/

http://www.ldodds.com/projects/twinkle/

http://www.w3.org/2009/sparql/wiki/Feature:Query_by_reference#Security_Issues

http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/#ExampleHTTP

http://semanticweb.org/wiki/SPARQL_endpoint

More Related Content

Viewers also liked

Client craig lack - linked in - nahu 1
Client   craig lack - linked in - nahu 1Client   craig lack - linked in - nahu 1
Client craig lack - linked in - nahu 1TR Garland
 
Maths SLE twighlight 11.9.2014
Maths SLE twighlight 11.9.2014Maths SLE twighlight 11.9.2014
Maths SLE twighlight 11.9.2014dringl01
 
5. effect of stage of fruit pickings on seed quality in leaf curl resistant t...
5. effect of stage of fruit pickings on seed quality in leaf curl resistant t...5. effect of stage of fruit pickings on seed quality in leaf curl resistant t...
5. effect of stage of fruit pickings on seed quality in leaf curl resistant t...Vishwanath Koti
 
Yahoo! Hacker And Culture
Yahoo! Hacker And CultureYahoo! Hacker And Culture
Yahoo! Hacker And CultureJinho Jung
 
Instream Limestone Sand Dosing in the Allegheny Plateau Part 2
Instream Limestone Sand Dosing in the Allegheny Plateau Part 2Instream Limestone Sand Dosing in the Allegheny Plateau Part 2
Instream Limestone Sand Dosing in the Allegheny Plateau Part 2Michael Hewitt, GISP
 
MRC/HIVAN KZN AIDS Forum - 30/10/12 - Challenges and Opportunities for HIV/AI...
MRC/HIVAN KZN AIDS Forum - 30/10/12 - Challenges and Opportunities for HIV/AI...MRC/HIVAN KZN AIDS Forum - 30/10/12 - Challenges and Opportunities for HIV/AI...
MRC/HIVAN KZN AIDS Forum - 30/10/12 - Challenges and Opportunities for HIV/AI...info4africa
 
Let's Talk Research Annual Conference - 24th-25th September 2014 (Dr Sally Gi...
Let's Talk Research Annual Conference - 24th-25th September 2014 (Dr Sally Gi...Let's Talk Research Annual Conference - 24th-25th September 2014 (Dr Sally Gi...
Let's Talk Research Annual Conference - 24th-25th September 2014 (Dr Sally Gi...NHSNWRD
 
Seven Principles For Systems Security
Seven Principles For Systems SecuritySeven Principles For Systems Security
Seven Principles For Systems Securityinvestoralist
 
Waste in the Philadelphia School District
Waste in the Philadelphia School DistrictWaste in the Philadelphia School District
Waste in the Philadelphia School DistrictAlison
 
CETS 2011, Elizabeth Raichle Wolfe, Using Social Media to Lead Learners to Th...
CETS 2011, Elizabeth Raichle Wolfe, Using Social Media to Lead Learners to Th...CETS 2011, Elizabeth Raichle Wolfe, Using Social Media to Lead Learners to Th...
CETS 2011, Elizabeth Raichle Wolfe, Using Social Media to Lead Learners to Th...Chicago eLearning & Technology Showcase
 
1203 ipython pycon
1203 ipython pycon1203 ipython pycon
1203 ipython pyconkkumar9034
 

Viewers also liked (20)

Ceramics
CeramicsCeramics
Ceramics
 
The Pukeko
The PukekoThe Pukeko
The Pukeko
 
Client craig lack - linked in - nahu 1
Client   craig lack - linked in - nahu 1Client   craig lack - linked in - nahu 1
Client craig lack - linked in - nahu 1
 
Maths SLE twighlight 11.9.2014
Maths SLE twighlight 11.9.2014Maths SLE twighlight 11.9.2014
Maths SLE twighlight 11.9.2014
 
Ch2007slide02
Ch2007slide02Ch2007slide02
Ch2007slide02
 
5. effect of stage of fruit pickings on seed quality in leaf curl resistant t...
5. effect of stage of fruit pickings on seed quality in leaf curl resistant t...5. effect of stage of fruit pickings on seed quality in leaf curl resistant t...
5. effect of stage of fruit pickings on seed quality in leaf curl resistant t...
 
Yahoo! Hacker And Culture
Yahoo! Hacker And CultureYahoo! Hacker And Culture
Yahoo! Hacker And Culture
 
Ejercicio04 sl vprt
Ejercicio04 sl vprtEjercicio04 sl vprt
Ejercicio04 sl vprt
 
Instream Limestone Sand Dosing in the Allegheny Plateau Part 2
Instream Limestone Sand Dosing in the Allegheny Plateau Part 2Instream Limestone Sand Dosing in the Allegheny Plateau Part 2
Instream Limestone Sand Dosing in the Allegheny Plateau Part 2
 
Skrapr revisions
Skrapr revisionsSkrapr revisions
Skrapr revisions
 
MRC/HIVAN KZN AIDS Forum - 30/10/12 - Challenges and Opportunities for HIV/AI...
MRC/HIVAN KZN AIDS Forum - 30/10/12 - Challenges and Opportunities for HIV/AI...MRC/HIVAN KZN AIDS Forum - 30/10/12 - Challenges and Opportunities for HIV/AI...
MRC/HIVAN KZN AIDS Forum - 30/10/12 - Challenges and Opportunities for HIV/AI...
 
Hh2513151319
Hh2513151319Hh2513151319
Hh2513151319
 
Happy
HappyHappy
Happy
 
References(print)
References(print)References(print)
References(print)
 
Let's Talk Research Annual Conference - 24th-25th September 2014 (Dr Sally Gi...
Let's Talk Research Annual Conference - 24th-25th September 2014 (Dr Sally Gi...Let's Talk Research Annual Conference - 24th-25th September 2014 (Dr Sally Gi...
Let's Talk Research Annual Conference - 24th-25th September 2014 (Dr Sally Gi...
 
Seven Principles For Systems Security
Seven Principles For Systems SecuritySeven Principles For Systems Security
Seven Principles For Systems Security
 
Waste in the Philadelphia School District
Waste in the Philadelphia School DistrictWaste in the Philadelphia School District
Waste in the Philadelphia School District
 
CETS 2011, Elizabeth Raichle Wolfe, Using Social Media to Lead Learners to Th...
CETS 2011, Elizabeth Raichle Wolfe, Using Social Media to Lead Learners to Th...CETS 2011, Elizabeth Raichle Wolfe, Using Social Media to Lead Learners to Th...
CETS 2011, Elizabeth Raichle Wolfe, Using Social Media to Lead Learners to Th...
 
Zero gravity surgery
Zero gravity surgeryZero gravity surgery
Zero gravity surgery
 
1203 ipython pycon
1203 ipython pycon1203 ipython pycon
1203 ipython pycon
 

Similar to Wade.Semantic User Profiles

Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Emanuela Boroș
 
RDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaRDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaPlatypus
 
Deploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application ServerDeploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application Serverwebhostingguy
 
Data Portability with SIOC and FOAF
Data Portability with SIOC and FOAFData Portability with SIOC and FOAF
Data Portability with SIOC and FOAFUldis Bojars
 
6 10-presentation
6 10-presentation6 10-presentation
6 10-presentationRemi Arnaud
 
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data SourcesVirtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sourcesrumito
 
Linked data HHS 2015
Linked data HHS 2015Linked data HHS 2015
Linked data HHS 2015Cason Snow
 
Knowledge Discovery in an Agents Environment
Knowledge Discovery in an Agents EnvironmentKnowledge Discovery in an Agents Environment
Knowledge Discovery in an Agents EnvironmentManjulaPatel
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data qualityJose Emilio Labra Gayo
 
OpenCalais in Linked Data context
OpenCalais in Linked Data contextOpenCalais in Linked Data context
OpenCalais in Linked Data contexteldorina
 
Approaches to machine actionable links
Approaches to machine actionable linksApproaches to machine actionable links
Approaches to machine actionable linksStephen Richard
 
Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011Juan Sequeda
 
Data.dcs: Converting Legacy Data into Linked Data
Data.dcs: Converting Legacy Data into Linked DataData.dcs: Converting Legacy Data into Linked Data
Data.dcs: Converting Legacy Data into Linked DataMatthew Rowe
 
Discovering Resume Information using linked data  
Discovering Resume Information using linked data  Discovering Resume Information using linked data  
Discovering Resume Information using linked data  dannyijwest
 
Linked data: spreading data over the web
Linked data: spreading data over the webLinked data: spreading data over the web
Linked data: spreading data over the webshellac
 

Similar to Wade.Semantic User Profiles (20)

Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Sup (Semantic User Profiling)
Sup (Semantic User Profiling)
 
RDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaRDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFa
 
How RDFa works
How RDFa worksHow RDFa works
How RDFa works
 
Semantic web browser
Semantic web browser Semantic web browser
Semantic web browser
 
Deploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application ServerDeploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application Server
 
Data Portability with SIOC and FOAF
Data Portability with SIOC and FOAFData Portability with SIOC and FOAF
Data Portability with SIOC and FOAF
 
6 10-presentation
6 10-presentation6 10-presentation
6 10-presentation
 
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data SourcesVirtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
 
Linked data HHS 2015
Linked data HHS 2015Linked data HHS 2015
Linked data HHS 2015
 
Knowledge Discovery in an Agents Environment
Knowledge Discovery in an Agents EnvironmentKnowledge Discovery in an Agents Environment
Knowledge Discovery in an Agents Environment
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data quality
 
OpenCalais in Linked Data context
OpenCalais in Linked Data contextOpenCalais in Linked Data context
OpenCalais in Linked Data context
 
Approaches to machine actionable links
Approaches to machine actionable linksApproaches to machine actionable links
Approaches to machine actionable links
 
Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011
 
Data.dcs: Converting Legacy Data into Linked Data
Data.dcs: Converting Legacy Data into Linked DataData.dcs: Converting Legacy Data into Linked Data
Data.dcs: Converting Legacy Data into Linked Data
 
Linked Data In Action
Linked Data In ActionLinked Data In Action
Linked Data In Action
 
Discovering Resume Information using linked data  
Discovering Resume Information using linked data  Discovering Resume Information using linked data  
Discovering Resume Information using linked data  
 
ISO MLR semantics
ISO MLR semanticsISO MLR semantics
ISO MLR semantics
 
Linked data: spreading data over the web
Linked data: spreading data over the webLinked data: spreading data over the web
Linked data: spreading data over the web
 
Quick Introduction to the Semantic Web, RDFa & Microformats
Quick Introduction to the Semantic Web, RDFa & MicroformatsQuick Introduction to the Semantic Web, RDFa & Microformats
Quick Introduction to the Semantic Web, RDFa & Microformats
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 

Wade.Semantic User Profiles

  • 1. Semantic User Profiles Ancuta Ionel, Sorin Alexandru Damian Abstract. This paper describes how the application associated with it works, from the premises from which the authors started, the techniques they applied and ending the results obtained in specifying from a semantic point of view a profile belonging to an user from Faculty of Computer Science Iasi. It also describes security issues that can appear and how they could be overcome. A summary of programming techniques are presented and applied in the study case - the application that completes the paper. Keywords: SPARQL endpoint, RDFa, DCMI, FOAF, semantic web 1 Introduction Exposing profile information for all the Faculty of Computer Science accounts in a machine readable format like RDF XML requires gathering information from multiple systems. The application is based on information already available to all faculty members. The data sources used are the /etc/passwd file on the students’ server that offers basic information about the account on the server. Detailed information regarding the LDAP accounts is not directly available. This information was gathered using the People Search application at http://students.info.uaic.ro/people . This application provides both html and xml output. The xml was parsed and cached locally in order to build a triple store that can be queried with SPARQL. 2 Implementation The application that exposes the SPARQL endpoint and the RDFa annotated profile information is build using ASP.net MVC for the front end and uses the SEMWEB library to provide a triple store, RDF/XML serialization and the SPARQL query engine. Input data is gathered by parsing a classic unix passwd file to get all the user account and by crawling the HTML or the XML from the People Search application at http://students.info.uaic.ro/people All profile information is linked to the user identity using RDF triples and stored into a local database for later queries. Let’s say that the profile of the user “sorin.damian” is crawled and needs to be stored. For all the profile properties we generate and store triples like:
  • 2. <http://profiles.sorindamian.ro/people/rdf/sorin.damian > foaf:name “Damian T. Sorin-Alexandru” The relation to the original user profile exposed by people search application at http://students.info.uaic.ro/people is maintained using the sameAs verb from the OWL vocabulary <http://profiles.sorindamian.ro/people/rdf/sorin.damian > owl:sameAs <http://students.info.uaic.ro/people/xml/uid/sorin.dami an> The implementation of the profiles crawler and of the profiles endpoint is decoupled from the implementation of the site and automated unit tests can be used to check for regressions. 2.1 Exposing the SPARQL endpoint To expose the endpoint we created a controller who’s action returns the SPARQL query results in a human readable html format or using RDF/XML notation depending on the content types in the “Accept” HTML header sent by the requesting agent. When a request is made using a regular web browser is made to the /sparql URL, the application responds with an html form that allows the user to write and submit a query. The query results will also be displayed in html by applying a XSL transformation on the XML resulted from the query. RDF capable agents can make requests to the SPARQL endpoint by sending query parameters in the standard way, which is by encoding the query string and sending it through the query parameter (eg: /spaql?query=url_encoded_query). 2.2 Content Negotiation The application can serve the proper representation of the profiles to the users. If a profile from an URL like <http://profiles.sorindamian.ro/people/rdf/ancuta.ionel> is requested and the client cannot accept the RDF/XML content type the a 303 redirect is made to the human readable URL resource (http://profiles.sorindamian.ro/people/html/ancuta.ionel) 2.3 Annotating profile descriptions with RDFa A human readable html page is annotated with linked data using the RDFa specification. A profile property like the full name of the user can is linked to the user entity with a XHTML fragment like:
  • 3. <div class="display-field" about=”http://profiles.sorindamian.ro/people/rdf/sorin. damian” property="foaf:name">Damian T. Sorin Alexandru</div> 3 Usage 3.1 The SPARQL endpoint user interface 3.2 Query results formats The results are returned in html format for regular web browsers and in RDF format for browsers that accept the application/sparql-results+xml content type.
  • 4. 3.3 User profiles can be accessed in plain RDF or in RDFa annotated html
  • 5. 3.4 Html profile page with embedded FOAF metadata using RDFa 3.5 RDF output automatically converted to human readable HTML
  • 6. 3.6 RDF profile displayed in Twinkle 4 Security considerations Exposing personal profile information using both human and machine readable formats raises additional privacy risks. Special care should be taken when exposing sensitive information like email address and account names. Such detailed information should at most be available to authenticated users or based on digital signatures. Issues like trust, spam, phishing, and verified semantic web statements are discussed when it comes to RDFa and not only. Here is the page where a group of passionate people get together to discuss these concepts: http://rdfa.info/wiki/Security-and-trust . Regarding the SPARQL endpoint, w3.org signals as security concerns the denial of service attacks towards the endpoint itself or towards others. Syntax errors that could reveal sensitive data could be avoided by tempering with results brought to the user that issues the query and presenting him with a standard error page. 5 Future The application could allow the users to further annotate the profile themselves with linked resources. Users would link their faculty account with their online identity, using OpenId for example. Also the FOAF vocabulary could be used to associate
  • 7. users from the same groups or users that are related to each other using information from the social networking related features in the SharePoint portal at https://portal.info.uaic.ro 6 References http://razor.occams.info/code/semweb/ http://www.asp.net/mvc/ http://esw.w3.org/topic/SparqlEndpointDescription http://dublincore.org/2008/01/14/dcelements.rdf http://www.foaf-project.org/docs/specs http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html http://www.w3.org/TR/rdf-sparql-query/ http://www.ldodds.com/projects/twinkle/ http://www.w3.org/2009/sparql/wiki/Feature:Query_by_reference#Security_Issues http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/#ExampleHTTP http://semanticweb.org/wiki/SPARQL_endpoint