Tags are a very effcient method of describing information
with metadata. Adding semantic information to the keywords allows
computers to comprehend what the pages are saying and use that knowledge to oer better service to humans when interacting with them. The
tagging extension for the XWiki Platform links the user-defined keywords
with semantic information from the DBpedia knowledge base.
ABSTRACT: We are having different problems with a static website, such as management and content update. To explain these problems, one alternate method is to use Content Management System (CMS), such as WordPress. This paper explains the process of converting a static website to WordPress.. In This paper some solutions are given to resolve problems, such as the conflict with Internet Explorer (IE) and WordPress security issues. The outcome of this paper allows the users to use WordPress to manage the website, to publish automatically new content into online social networking services, to provide customized information to registered users as well as to allow web syndication
Web Services Presentation - Introduction, Vulnerabilities, & CountermeasuresPraetorian
Ā
The concept of web services has become ubiquitous over the last few years. Frameworks are now available across many platforms and languages to greatly ease and expedite the development of web services, often with a vast amount of existing code reuse. Software companies are taking advantage of this by integrating this technology into their products giving increased power and interoperability to their customers. However, the power web services enables also introduces new risks to an environment. As with web applications, development has outpaced the understanding and mitigation of vulnerabilities that arise from this emerging technology. This presentation will first aim to identify the risks associated with web services. We will describe the existing security standards and technologies which target web services (i.e., WS-Security) including its history, pros and cons, and current status. Finally we will attempt to extrapolate the future of this space to determine what changes must be made going forward.
Praetorian's goal is to help our clients understand minimize their overall security exposure and liability. Through our services, your organization can obtain an accurate, independent security assessment.
ABSTRACT: We are having different problems with a static website, such as management and content update. To explain these problems, one alternate method is to use Content Management System (CMS), such as WordPress. This paper explains the process of converting a static website to WordPress.. In This paper some solutions are given to resolve problems, such as the conflict with Internet Explorer (IE) and WordPress security issues. The outcome of this paper allows the users to use WordPress to manage the website, to publish automatically new content into online social networking services, to provide customized information to registered users as well as to allow web syndication
Web Services Presentation - Introduction, Vulnerabilities, & CountermeasuresPraetorian
Ā
The concept of web services has become ubiquitous over the last few years. Frameworks are now available across many platforms and languages to greatly ease and expedite the development of web services, often with a vast amount of existing code reuse. Software companies are taking advantage of this by integrating this technology into their products giving increased power and interoperability to their customers. However, the power web services enables also introduces new risks to an environment. As with web applications, development has outpaced the understanding and mitigation of vulnerabilities that arise from this emerging technology. This presentation will first aim to identify the risks associated with web services. We will describe the existing security standards and technologies which target web services (i.e., WS-Security) including its history, pros and cons, and current status. Finally we will attempt to extrapolate the future of this space to determine what changes must be made going forward.
Praetorian's goal is to help our clients understand minimize their overall security exposure and liability. Through our services, your organization can obtain an accurate, independent security assessment.
1. Introduction to Web Services
2. Web Service Architecture
3. What are Web Services?
4. Why are Web Services?
5. The base of WS
6. What is SOAP?
7. What is WSDL?
8. How to test a web service?
9. Examples
CyberLab Training Division :
ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites. It allows you to use a full featured programming language such as C# or VB.NET to build web applications easily.
This tutorial covers all the basic elements of ASP.NET that a beginner would require to get started.
Audience
This tutorial has been prepared for the beginners to help them understand basic ASP.NET programming. After completing this tutorial you will find yourself at a moderate level of expertise in ASP.NET programming from where you can take yourself to next levels.
Prerequisites
Before proceeding with this tutorial, you should have a basic understanding of .NET programming language. As we are going to develop web-based applications using ASP.NET web application framework, it will be good if you have an understanding of other web technologies such as HTML, CSS, AJAX. etc
ASP.NET supports three different development models:
Web Pages, MVC (Model View Controller), and Web Forms.
For More Details.
Visit: http://www.cyberlabzone.com
Access Management Technologies Update by Simon McLeish and John PaschoudJISC.AM
Ā
This session looked at more innovative uses of federated access, such as use with virtual learning environments and repositories and use of tools for managing rights and roles.
Sistemul descris Ć®n aceastÄ lucrare clasificÄ o listÄ de postÄri pe Tweeter disponibile pentru o companie: postÄrile sunt etichetate cu true dacÄ aparÅ£in companiei respective sau cu false daca se referÄ la altceva. Primul pas creeazÄ un profil de companie pentru fiecare entitate din mai multe surse: conÅ£inutul sitului web Åi opČional termenii oferiÅ£i de Google Sets. Al doilea pas analizeazÄ potrivirile dintre profil Åi cuvintele din postÄrile pe Tweeter, identificĆ¢nd astfel la ce companie se referÄ. Cele douÄ module folosesc datele de antrenament disponibile Ć®n cadrul sarcinii a doua a competiÅ£iei WePS Evaluation Workshop: Searching Information about Entities in the Web.
A Survey on Unsupervised Graph-based Word Sense DisambiguationElena-Oana Tabaranu
Ā
This paper presents comparative evaluations of graph based
word sense disambiguation techniques using several measures of word
semantic similarity and several ranking algorithms. Unsupervised word
sense disambiguation has received a lot of attention lately because of it's
fast execution time and it's ability to make the most of a small input
corpus. Recent state of the art graph based systems have tried to close
the gap between the supervised and the unsupervised approaches.
"Miscarea" NoSQL a aparut ca o consecinta a evolutiei Web-ului social/semantic, din necesitatea unor aplicatii precum retelele sociale de a
rezolva problema scalabilitatii. Diferitele abordari implica e renuntarea
la proprietatile oferite de bazele de date traditionale, e regandirea sis-
temelor relationale de la cap la coada.
1. Introduction to Web Services
2. Web Service Architecture
3. What are Web Services?
4. Why are Web Services?
5. The base of WS
6. What is SOAP?
7. What is WSDL?
8. How to test a web service?
9. Examples
CyberLab Training Division :
ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites. It allows you to use a full featured programming language such as C# or VB.NET to build web applications easily.
This tutorial covers all the basic elements of ASP.NET that a beginner would require to get started.
Audience
This tutorial has been prepared for the beginners to help them understand basic ASP.NET programming. After completing this tutorial you will find yourself at a moderate level of expertise in ASP.NET programming from where you can take yourself to next levels.
Prerequisites
Before proceeding with this tutorial, you should have a basic understanding of .NET programming language. As we are going to develop web-based applications using ASP.NET web application framework, it will be good if you have an understanding of other web technologies such as HTML, CSS, AJAX. etc
ASP.NET supports three different development models:
Web Pages, MVC (Model View Controller), and Web Forms.
For More Details.
Visit: http://www.cyberlabzone.com
Access Management Technologies Update by Simon McLeish and John PaschoudJISC.AM
Ā
This session looked at more innovative uses of federated access, such as use with virtual learning environments and repositories and use of tools for managing rights and roles.
Sistemul descris Ć®n aceastÄ lucrare clasificÄ o listÄ de postÄri pe Tweeter disponibile pentru o companie: postÄrile sunt etichetate cu true dacÄ aparÅ£in companiei respective sau cu false daca se referÄ la altceva. Primul pas creeazÄ un profil de companie pentru fiecare entitate din mai multe surse: conÅ£inutul sitului web Åi opČional termenii oferiÅ£i de Google Sets. Al doilea pas analizeazÄ potrivirile dintre profil Åi cuvintele din postÄrile pe Tweeter, identificĆ¢nd astfel la ce companie se referÄ. Cele douÄ module folosesc datele de antrenament disponibile Ć®n cadrul sarcinii a doua a competiÅ£iei WePS Evaluation Workshop: Searching Information about Entities in the Web.
A Survey on Unsupervised Graph-based Word Sense DisambiguationElena-Oana Tabaranu
Ā
This paper presents comparative evaluations of graph based
word sense disambiguation techniques using several measures of word
semantic similarity and several ranking algorithms. Unsupervised word
sense disambiguation has received a lot of attention lately because of it's
fast execution time and it's ability to make the most of a small input
corpus. Recent state of the art graph based systems have tried to close
the gap between the supervised and the unsupervised approaches.
"Miscarea" NoSQL a aparut ca o consecinta a evolutiei Web-ului social/semantic, din necesitatea unor aplicatii precum retelele sociale de a
rezolva problema scalabilitatii. Diferitele abordari implica e renuntarea
la proprietatile oferite de bazele de date traditionale, e regandirea sis-
temelor relationale de la cap la coada.
Folosirea instumentului Zemanta in recomandarea de continutElena-Oana Tabaranu
Ā
Instrumentul Zemanta poate folosit in recomandarea de
continut relevant utilizatorului in cadrul unor aplicatiilor Web sociale (e.g.,
blog-uri). Platforma este disponibila sub forma de extensie pentru majoritatea navigatoarelor web.
A Survey on Unsupervised Graph-based Word Sense DisambiguationElena-Oana Tabaranu
Ā
Presents comparative evaluations of graph
based word sense disambiguation techniques using several measures of
word semantic similarity and several ranking algorithms. Unsupervised
word sense disambiguation has received a lot of attention lately because
of it's fast execution time and it's ability to make the most of a small
input corpus. Recent state of the art graph based systems have tried to
close the gap between the supervised and the unsupervised approaches.
Reflections On Personal Experiences In Using Wikislisbk
Ā
This talk was given by Brian Kelly, UKOLN at UKOLN's "Exploiting the Potential Of Wikis" workshop held on 3 November 2006.
See http://www.ukoln.ac.uk/web-focus/events/workshops/wiki-workshop-2006/
Presentation of XEclipse, the XWiki Eclipse Integration, at the EclipseDemo Camps in Iasi.
Event page: http://wiki.eclipse.org/Eclipse_DemoCamps_November_2008/Iasi
Slides from a webinar on webware presented by Mike Qaissaunee and Gordon F. Snyder, Jr. (both of nctt.org). The webinar was hosted by MATEC NetWorks (http://www.matecnetworks.org/) and delivered via Elluminate. Visit MATEC NetWorks to watch the webinar.
Presentation about Semantic MediaWiki and Semantic Forms given by Sergey Chernyshev and Yaron Koren at "Semantic Wikis" (March 2008 NY SemWeb Meetup) on March 13, 2008
Similar to Semantic Tagging for the XWiki Platform with Zemanta and DBpedia (20)
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
Ā
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties ā USA
Expansion of bot farms ā how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks ā Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Ā
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Ā
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overviewā
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Ā
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Ā
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But thereās more:
In a second workflow supporting the same use case, youāll see:
Your campaign sent to target colleagues for approval
If the āApproveā button is clicked, a Jira/Zendesk ticket is created for the marketing design team
Butāif the āRejectā button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Ā
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
Ā
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
Ā
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. Whatās changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
Ā
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
ā¢ The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
ā¢ Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
ā¢ Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
ā¢ Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
Ā
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
When stars align: studies in data quality, knowledge graphs, and machine lear...
Ā
Semantic Tagging for the XWiki Platform with Zemanta and DBpedia
1. Semantic Tagging for the XWiki Platform with
Zemanta and DBpedia
Elena-Oana TĖbĖranu and Anna-Maria Metzak
a a
Faculty of Computer Science
āAlexandru I. Cuzaā University of IaĀøi
s
{elena.tabaranu,anna.metzak}@info.uaic.ro
Abstract. Tags are a very eļ¬cient method of describing information
with metadata. Adding semantic information to the keywords allows
computers to comprehend what the pages are saying and use that knowl-
edge to oļ¬er better service to humans when interacting with them. The
tagging extension for the XWiki Platform links the user-deļ¬ned keywords
with semantic information from the DBpedia knowledge base.
Key words: XWiki, Zemanta, DBpedia, knowledge base, Semantic Web,
tagging, Common Tag
1 Introduction
A tag is a relevant keyword or term associated with speciļ¬c content. Labeling
by keywords has long been used in scientiļ¬c publications. Recent comeback hap-
pened when web users and developers realized tags are a very eļ¬cient method
of describing information with metadata.
The goal of this project is to extend a conventional open source Web ap-
plication with semantic information. The Semantic Tagging XWiki component
enriches the tagging mechanism for the XWiki Platform using the content rec-
ommendation tool Zemanta1 and the knowledge base DBpedia2 . The XWiki
semantic tagging mechanism allows the user to get suggestions when adding
new tags and have links for each new tag to concepts extracted from the worldās
biggest knowledge base, Wikipedia.
2 The XWiki Platform
XWiki is a open source platform for developing collaborative web applications
using the wiki paradigm. XWiki Products are based on the XWiki Platform
1
Zemanta is a tool which brings relevant content from around the web brought as the
user is typing. The API allows to bring these related Images, Articles, Hyperlinks
and Tags to your Application.
2
DBpedia is a community eļ¬ort toextract structured information from Wikipedia
andtomake this information available onthe Web.
2. 2 Semantic Tagging for the XWiki Platform with Zemanta and DBpedia
which provides common services and UI to them. XWiki is a second generation
wiki that provides all the basic content management and administration features
of common wikis, but with much more. XWiki takes the wiki approach to a whole
new level by providing enhanced features and capabilities. With XWiki, you can
build simple applications, extend the platform with custom plugins/components,
or even build complex Web applications.
Some of the features oļ¬ered by the XWiki Platform are:
ā Edit pages by using wiki syntax to format text, create tables, create links,
display images, etc. Alternatively use a powerful WYSIWYG editor to edit
the content of documents.
ā Create, Edit, Show, Print, Delete, Copy, Move and Rename documents.
ā Export wiki pages to PDF, RTF, XML or HTML.
ā Attach as many ļ¬les as you want to any page. These ļ¬les can then be refer-
enced and used in page contents.
ā Control who can view, edit or delete documents in a ļ¬exible manner. Apply
rights to a document, a space or an entire wiki.
ā Use XWikiās programming API directly into your pages (Velocity or Groovy)
to perform advanced formatting, layout or anything really.
ā Create applications by grouping several pages together. Import and export
Applications to/from your wiki.
Examples of applications that non-developers can create quickly and in an or-
ganic manner using XWiki:
ā A blogging application.
ā An RSS feed aggregator.
ā Mashups. For example combining Google Maps with Delicious with Flickr
with Google Base with Google Calendar, etc.
ā Collaborative authoring of documents in real time.
ā Form-based applications to enter collections of items
ā A Poll/Survey application
2.1 The XWiki Platform Core
XWiki Core is a single historic JAR that is split into several distinct modules
and that currently implements the following features:
ā Model: All the classes representing the wiki model, i.e. the following notions:
Document, Space, Wiki, Classes/Objects, Attachments and more.
ā XWiki Syntax 1.0 Rendering: This is the old service for rendering XWiki
Syntax 1.0 which we keep for backward compatibility so that existing users
can keep using the XWiki Syntax 1.0. For all other syntaxes thereās now a
new Rendering Module.
ā Localization: Handles translations in various languages. A new Localization
module is under development that will replace this old module.
3. Semantic Tagging for the XWiki Platform with Zemanta and DBpedia 3
Fig. 1. The XWiki Platform Architecture.
ā Notiļ¬cation: Handles event registration and distribution. For example code
can subscribe to receive an event when a new document is created.
ā Exports (PDF, RTF, XAR). In the future this will be done by implementing
speciļ¬c Renderers in the new Rendering Module.
ā Security: Authentication and Authorization handling.
ā User Management
2.2 The XWiki Platform Plugins
The plugins created and maintained by the XWiki development team are ei-
ther in their own JAR, either are still located in the XWiki Core JAR. Besides
these ones, others plugins have been contributed by the community and can be
installed. The full list of available plugins is available on the Code Zone3 .
2.3 The XWiki Platform Modules
A module oļ¬ers services in a given domain. Modules are the equivalent of Plugins
but using the new XWiki component-based architecture.
XWikiās Architecture is based on Component-oriented Development. XWiki
has chosen to be independent of all existing Components Managers and instead
to deļ¬ne some simple Component interfaces that can then be bound on any ex-
isting Component Manager. XWiki is currently implementing its own lightweight
Component Manager.
3
Contributions from the XWiki community can be accessed at: http://code.xwiki.
org/xwiki/bin/view/Main/.
4. 4 Semantic Tagging for the XWiki Platform with Zemanta and DBpedia
2.4 The XWiki Platform Applications
The applications created and maintained by the XWiki development team are:
Panels, Administration, Blog, Application Manager, Wiki Manager, Scheduler,
Statistics, Watch List, Oļ¬ce Importer, WebDAV, WebDAV, Tags, Search. In
addition to these, others applications have been contributed by the community
and can be installed. The full list of available applications is available on the
Code Zone.
2.5 Extending The XWiki Platform
The XWiki Platform can be extended by:
ā Writing scripts in wiki pages
ā Writing Applications (set of wiki pages)
ā Writing Plugins in Java
ā Writing Modules (a set of components) in Java
ā Writing new Skins or extending existing ones
ā Extending existing Service APIs when they provide extension points.
Fig. 2. Extending the XWiki Platform.
3 Bringing Semantic Tagging to the XWiki Platform
with Zemanta and DBpedia
Semantic Tagging is a proposal to extend XWikiās default tagging mechanism
using the Zemanta content recommendation tool and the DBpedia knowledge
base:
5. Semantic Tagging for the XWiki Platform with Zemanta and DBpedia 5
ā tag documents with user-deļ¬ned tags (default behavior in XWiki for tag-
ging);
ā use Zemanta to recommend tags for the wiki page content;
ā add concept information for each tag using Dbpedia.
The mockups below were produced using Balsamq mockups and provide the
user interface changes for the XWiki Platform when adding and displaying a
semantic tag.
3.1 Add a semantic tag
When adding a tag for the content of a wiki page, the user has two options from
the āAdd Tagā form: the āSuggested tagsā tab or the āWiki Tagsā tab.
When hovering over a suggested tag, a popup with semantic details will be
displayed: tag description and URI link for the DBpedia resource page. Besides
the āSuggested tagsā, the user can use the āWiki tagsā tab to display the tag
cloud from the entire wiki. Also, the default autocomplete feature will help the
user ļ¬nd tags already used in the wiki instance.
After a tag will be added to the Tags section for a wiki page, it will be deac-
tivated from the suggested list. The grey color was used to mark the deactivated
tags.
Fig. 3. Mockup for tagging a wiki page in XWiki.
6. 6 Semantic Tagging for the XWiki Platform with Zemanta and DBpedia
Fig. 4. Tagging a wiki page in XWiki.
Fig. 5. Autocomplete feature for tagging a wiki page in XWiki.
7. Semantic Tagging for the XWiki Platform with Zemanta and DBpedia 7
3.2 Display semantic information for a tag
A semantic tag will preserve the default behavior for XWiki in view mode: add
icon, remove icon and link to the list of documents which were tagged with it,
but will also have semantic information attached.
Fig. 6. Mockup for displaying a wiki page in XWiki.
Fig. 7. Semantic information for a wiki tag.
3.3 Instruments used for suggestions
Digitalization of content started by putting written word into ASCII form.
HTML and web eventually enabled linking and interleaving with other types
of media such as images, sound and video. Flash and Javascript further enabled
interactive widgets such as map views. Lately the content on the web is moving
into direction of explicitly exposing relations between pieces of data. General
intention of explicitly exposing relations is to allow computers to comprehend
what pages are saying and use that knowledge to oļ¬er better service to humans
when interacting with them.
8. 8 Semantic Tagging for the XWiki Platform with Zemanta and DBpedia
While authoring text comes naturally for educated human beings many rea-
sons exist why creating fully featured web content is still cumbersome experience.
Those reasons can be split into two main categories. One issue is eļ¬ciently ļ¬nd-
ing the right content that should be included or connected to. This usually takes
a lot of time. The other issue is eļ¬ciently telling the computer the relationships
between our content and external content and data. This usually requires skills
and knowledge from depths of speciļ¬cations and standards.
Zemanta is the service that tries to resolve those two issues by providing
semi-automatic process of content enrichment to be more appealing to humans
and at the same time placing it in correct relations to other content in a way
computers can understand.
Fig. 8. Authoring process with Zemanta.
Zemanta API allows application developers to automatically query the Ze-
manta engine for contextual information about the text that user enters. Tech-
nically, the API accepts (any) text through a POST request and upon analysis
of that text returns suggestions.
While some other services only try to ļ¬nd the most overrepresented rare
words or proper names in the text, Zemanta goes deeper when processing con-
tent. Zemanta oļ¬ers both tags based on words and phrases that can be found
inside authorās text and also those that are only topics that could represent the
content as a whole, but are not explicitly mentioned. It goes even further and
tries to ļ¬nd very concrete items and concepts that are related to what is being
said, but are only connected through a third piece of information. Therefore
author can expect topics, names and concepts as tags.
9. Semantic Tagging for the XWiki Platform with Zemanta and DBpedia 9
Structure of Zemantaās RDF/XML response was inspired by Linking Open
Data initiative, other APIs oļ¬ering semantic responses and most importantly
ideas championed by W3C.
The XWiki Semantic Tagging component uses the Zemanta API to suggest
possible keywords for a speciļ¬c text. The component identiļ¬es itself with an
API key. The API key is a string that uniquely identiļ¬es a speciļ¬c instance of
application that is using the Zemanta web service. Also, there are limitations
on the number of requests per day and number of requests per second: default
developer accounts allow for 1000 posts per day and 1 post per second.
3.4 Instruments used for semantic information
DBpedia extracts factual information from Wikipedia pages, allowing users to
ļ¬nd answers to questions where the information is spread across many diļ¬er-
ent Wikipedia articles. DBpedia is served on the Web under the terms of the
GNU Free Documentation License. In order to full the requirements of diļ¬erent
client applications and can be accessed through four mechanisms: Linked Data,
SPARQL endpoint, RDF dumps and index lookup.
Linked Data is a method of publishing RDF data on the Web that relies
on HTTP URIs as resource identifers and the HTTP protocol to retrieve re-
source descriptions. DBpedia resource identifers (such as http://dbpedia.org/
resource/Andy_Warhol) are set up to return RDF descriptions when accessed
by Semantic Web agents and a simple HTML view of the same information
to traditional Web browsers. HTTP content negotiation is used to deliver the
appropriate format.
A SPARQL endpoint is available for querying the Dbpedia knowledge base.
Client applications can send queries over the SPARQL protocol to the endpoint
at http://dbpedia.org/sparql. In addition to standard SPARQL, the end-
point supports several extensions of the query language that have proved useful
for developing client applications, such as full text search over selected RDF
predicates, and aggregate functions, notably COUNT(). To protect the service
from overload, limits on query complexity and result size are in place.
The DBpedia knowledge base is sliced by triple predicate into several parts
and N-Triple serializations of these parts are available for download on the DB-
pedia website. In addition to the knowledge base that is served as Linked Data
and via the SPARQL endpoint, the download page also ooļ¬ers infobox datasets
that have been extracted from Wikipedia editions in 29 languages other than
English.
In order to make it easy for Linked Data publishers to ļ¬nd Dbpedia resource
URIs to link to, a lookup service proposes DBpedia URIs for a given label.
The Web service is based on a Lucene index providing a weighted label lookup,
which combines string similarity with a relevance ranking in order to and the
most likely matches for a given term. DBpedia lookup is available as a Web
service at http://lookup.dbpedia.org/api/search.asmx.
The XWiki Semantic Tagging component links information from the DBpedia
index (short description for a tag, URI for the resource page, label) to the user-
10. 10 Semantic Tagging for the XWiki Platform with Zemanta and DBpedia
deļ¬ned tags in the wiki. This is an extension to the default tagging mechanism
for the XWiki platform which does not link the user-deļ¬ned tags to a concept.
3.5 Common Tags
The Semantic Tagging component uses the Common Tags RDFa vocabulary to
bring semantic markup to the default XWiki tagging mechanism.
Fig. 9. Example of semantic markup using RDFa for a wiki tag.
3.6 Implementation details
Extensions for the XWiki Platform to implement the semantic tagging mecha-
nism:
ā a XWiki application(SemTags.Tooltip) for the tag tooltip: contains a Javascript
skin extension, Stylesheet skin extension;
ā a XWiki application (SemTags.CreateTagForm) for the new form for seman-
tic tagging: velocity code to add a tag suggested from Zemanta, linked with
information from DBpedia or just a tag already used in the wiki;
ā a XWiki component for the backend tag mechanism: connect to the Zemanta
API, query the DBpedia index.
ā resources modiļ¬cations: Javascript code to support the new tagging func-
tionality;
ā template modiļ¬cations: updating htmlheader.vm with the DOCTYPE of
the XHTML wiki pages to support the new RDFa vocabulary, updating
documentTags.vm with the new display for a keyword.
The XWiki code lifecycle is based on maven, hence a maven archetype was
used to help create a simple component module with respect to the XWiki
architecture and components speciļ¬c requirements. Since the XWiki platform is
written using the Java programming language, a Java library was used to query
the Zemanta engine and the API was added as a maven dependency for the
XWiki component.
11. Semantic Tagging for the XWiki Platform with Zemanta and DBpedia 11
Maven dependency for the Zemanta API.
<dependency>
<groupId>com.zemanta.api</groupId>
<artifactId>zemapi</artifactId>
<version>1.0</version>
</dependency>
The HTTPClient library was used to query the Dbpedia lookup web service and
a dependency was also added in the component pom.xml.
Maven dependency for the HTTPClient library.
<dependency>
<groupId>commons-httpclient</groupId></dependency>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
Content of the component declaration ļ¬le components.txt.
org.xwiki.semtag.component.internal.DefaultSemanticTagger
org.xwiki.semtag.component.internal.
vcinitializer.SemanticTaggerVelocityContextInitializer
The @ComponentRole annotation used for declaring the interface of the compo-
nent.
@ComponentRole
public interface SemanticTagger
{
public ArrayList<SemanticTag> getSuggestions(String text);
public void updateFirstSemanticDetail(SemanticTag tag)
throws SAXException, ParserConfigurationException, RemoteException;
public SemanticTag updateSemanticDetails(String tagName)
throws ParserConfigurationException, SAXException;
}
The @Component annotation is used to implement the XWiki component which
will be accessed using a scripting language like Velocity.
@Component("tagger")
public class SemanticTaggerVelocityContextInitializer
implements VelocityContextInitializer
{
/** The key to add to the velocity context */
public static final String VELOCITY_CONTEXT_KEY = "tagger";
12. 12 Semantic Tagging for the XWiki Platform with Zemanta and DBpedia
@Requirement
private SemanticTagger semanticTagger;
/**
* Add the component instance to the velocity context
* received as parameter.
*/
public void initialize(VelocityContext context)
{
context.put(VELOCITY_CONTEXT_KEY, semanticTagger);
}
}
Using the component API from Velocity to display the tag name, description and
link to the DBpedia URI.
#set($suggestedList = $tagger.getSuggestions("$request.text"))
#foreach($suggestedTag in $suggestedList)
#set($ok = $tagger.updateFirstSemanticDetail($suggestedTag))
#set($details = $suggestedTag.getSemanticDetails())
<li>
<a class="suggested-tag" href="#">$suggestedTag.name</a>
<span class="suggested-tag-info"
style="display: none">$details.get(0).getDescription()
<br/><a href="$details.get(0).getUri()">Visit</a>
<div id="more-at">Powered by
<a href="http://www.dbpedia.org">
<img src=ā$dbpediaImgā alt="Dbpedia"/></a></div>
</span>
</li>
#end
4 Conclusions
A tag is a relevant keyword or term associated with speciļ¬c content and provide
a very eļ¬cient method of describing information with metadata. The tagging
extension for the XWiki platform provides semantic details extracted from the
worldās biggest knowledge base improving the content understanding both user
and the computer.
5 Bibliography
1. Common Tag, http://commontag.org/Home
13. Semantic Tagging for the XWiki Platform with Zemanta and DBpedia 13
2. Bizer, Ch., Lehmann, J., Kobilarov, G., Auer, S., Becker, Ch., Cyganiak, R., Hell-
mann, S.: Dbpedia A Crystallization Point for the Web of Data
3. Zemnata Developer Network, http://developer.zemanta.com/
4. Tori,A.: Everything you need to know about Zemanta API besides the speciļ¬cation
5. Writing XWiki Components, http://platform.xwiki.org/xwiki/bin/view/
DevGuide/WritingComponents
6. ***, http://platform.xwiki.org/xwiki/bin/view/Main/
7. ***, http://platform.xwiki.org/xwiki/bin/view/DevGuide/Architecture
8. ***, http://platform.xwiki.org/xwiki/bin/view/DevGuide/