The W3C Linked Data Platform (LDP) specification describes a set of best practices and simple approach for a read-write Linked Data architecture, based on HTTP access to web resources that describe their state using the RDF data model. This presentation provides a set of simple examples that illustrates how an LDP client can interact with an LDP server in the context of a read-write Linked Data application i.e. how to use the LDP protocol for retrieving, updating, creating and deleting Linked Data resources.
A set of slides that provides a high-level overview of the W3C Linked Data Platform specification presented at the 4th Linked Data in Architecture and Construction Workshop.
For more detailed and technical version of the presentation, please refer to
http://www.slideshare.net/nandana/learning-w3c-linked-data-platform-with-examples
LDAC 2016 programme
http://smartcity.linkeddata.es/LDAC2016/#programme
Linked Open Data Principles, Technologies and ExamplesOpen Data Support
Theoretical and practical introducton to linked data, focusing both on the value proposition, the theory/foundations, and on practical examples. The material is tailored to the context of the EU institutions.
Modern data is massive, quickly evolving, unstructured, and increasingly hard to catalog and understand from multiple consumers and applications. This session will guide you though the best practices for designing a robust data architecture, highlightning the benefits and typical challenges of data lakes and data warehouses. We will build a scalable solution based on managed services such as Amazon Athena, AWS Glue, and AWS Lake Formation.
AWS Summit Seoul 2023 | 실시간 CDC 데이터 처리! Modern Transactional Data Lake 구축하기Amazon Web Services Korea
CDC 기반 upserting 기능을 제공하는 Transactional Data Lake를 Apache Iceberg와 AWS Glue를 이용해서 구축하는 방법을 소개합니다. MySQL과 같은 RDS에서 발생하는 CDC 데이터를 Amazon Kinesis 또는 MSK를 통해서 실시간으로 S3에 Apache Iceberg 포맷으로 저장하는 Transactional Data Lake 아키텍처를 소개합니다.
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...Amazon Web Services Korea
AWS re:Invent에서는 다양한 고객들의 요구에 맞추어 새로운 분석 및 서버리스 서비스가 대거 출시되었습니다. 본 강연에서는 새롭게 출시된 핵심 분석 기능들과 함께, 누구나 손쉽게 사용할 수 있는 AWS의 분석 서버리스와 On-demand 기능들에 대한 심층적인 정보를 확인하실 수 있습니다.
AWS Glue는 고객이 분석을 위해 손쉽게 데이터를 준비하고 로드할 수 있게 지원하는 완전관리형 ETL(추출, 변환 및 로드) 서비스입니다. AWS 관리 콘솔에서 클릭 몇 번으로 ETL 작업을 생성하고 실행할 수 있습니다. 빅데이터 분석 시 다양한 데이터 소스에 대한 전처리 작업을 할 때, 별도의 데이터 처리용 서버나 인프라를 관리할 필요가 없습니다. 본 세션에서는 지난 5월 서울 리전에 출시한 Glue 서비스에 대한 자세한 소개와 함께 다양한 활용 팁을 데모와 함께 소개해 드립니다.
A set of slides that provides a high-level overview of the W3C Linked Data Platform specification presented at the 4th Linked Data in Architecture and Construction Workshop.
For more detailed and technical version of the presentation, please refer to
http://www.slideshare.net/nandana/learning-w3c-linked-data-platform-with-examples
LDAC 2016 programme
http://smartcity.linkeddata.es/LDAC2016/#programme
Linked Open Data Principles, Technologies and ExamplesOpen Data Support
Theoretical and practical introducton to linked data, focusing both on the value proposition, the theory/foundations, and on practical examples. The material is tailored to the context of the EU institutions.
Modern data is massive, quickly evolving, unstructured, and increasingly hard to catalog and understand from multiple consumers and applications. This session will guide you though the best practices for designing a robust data architecture, highlightning the benefits and typical challenges of data lakes and data warehouses. We will build a scalable solution based on managed services such as Amazon Athena, AWS Glue, and AWS Lake Formation.
AWS Summit Seoul 2023 | 실시간 CDC 데이터 처리! Modern Transactional Data Lake 구축하기Amazon Web Services Korea
CDC 기반 upserting 기능을 제공하는 Transactional Data Lake를 Apache Iceberg와 AWS Glue를 이용해서 구축하는 방법을 소개합니다. MySQL과 같은 RDS에서 발생하는 CDC 데이터를 Amazon Kinesis 또는 MSK를 통해서 실시간으로 S3에 Apache Iceberg 포맷으로 저장하는 Transactional Data Lake 아키텍처를 소개합니다.
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...Amazon Web Services Korea
AWS re:Invent에서는 다양한 고객들의 요구에 맞추어 새로운 분석 및 서버리스 서비스가 대거 출시되었습니다. 본 강연에서는 새롭게 출시된 핵심 분석 기능들과 함께, 누구나 손쉽게 사용할 수 있는 AWS의 분석 서버리스와 On-demand 기능들에 대한 심층적인 정보를 확인하실 수 있습니다.
AWS Glue는 고객이 분석을 위해 손쉽게 데이터를 준비하고 로드할 수 있게 지원하는 완전관리형 ETL(추출, 변환 및 로드) 서비스입니다. AWS 관리 콘솔에서 클릭 몇 번으로 ETL 작업을 생성하고 실행할 수 있습니다. 빅데이터 분석 시 다양한 데이터 소스에 대한 전처리 작업을 할 때, 별도의 데이터 처리용 서버나 인프라를 관리할 필요가 없습니다. 본 세션에서는 지난 5월 서울 리전에 출시한 Glue 서비스에 대한 자세한 소개와 함께 다양한 활용 팁을 데모와 함께 소개해 드립니다.
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019Amazon Web Services Korea
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용
김태현 솔루션즈 아키텍트, AWS
AWS에서는 Big Data 분석 및 처리를 위해 분석 목적에 맞는 다양한 Big Data Framework 서비스를 지원합니다. 이 세션에서는 시간이 지날수록 증가하는 데이터의 분석 및 처리를 위해 사용되는 AWS Glue와 Amazon EMR 같은 AWS Big Data Framework의 내부구조를 살펴보고 머신러닝을 포함한 다양한 분석 및 ETL을 위해 효율적으로 사용할 수 있는 방법들을 소개합니다.
Amazon Aurora is a cloud-optimized relational database that combines the speed and availability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases. The recently announced PostgreSQL-compatibility, together with the original MySQL compatibility, are perfect for new application development and for migrations from overpriced, restrictive commercial databases. In this session, we’ll do a deep dive into the new architectural model and distributed systems techniques behind Amazon Aurora, discuss best practices and configurations, look at migration options and share customer experience from the field.
OpenSearch는 배포형 오픈 소스 검색과 분석 제품군으로 실시간 애플리케이션 모니터링, 로그 분석 및 웹 사이트 검색과 같이 다양한 사용 사례에 사용됩니다. OpenSearch는 데이터 탐색을 쉽게 도와주는 통합 시각화 도구 OpenSearch와 함께 뛰어난 확장성을 지닌 시스템을 제공하여 대량 데이터 볼륨에 빠르게 액세스 및 응답합니다. 이 세션에서는 실제 동작 구조에 대한 설명을 바탕으로 최적화를 하기 위한 방법과 운영상에 발생할 수 있는 이슈에 대해서 알아봅니다.
Building Serverless Analytics Pipelines with AWS Glue - AWS Summit Sydney 2019Amazon Web Services
Organisations are increasingly gaining insight and knowledge from a number of IoT, API, clickstream, unstructured, and log data sources. Learn how AWS Glue makes it easy to build and manage enterprise-grade data pipelines to ingest, clean, transform, and automatically catalogue data, which enables a variety of use cases such as ad-hoc analytics, data warehousing, big data analysis, and machine learning. Also, find out how to intergrate an end-to-end CI/CD pipeline to automate the release management process for your serverless data pipelines.
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...Amazon Web Services Korea
고객사 A는 하루 30억 트랜잭션과 연 750TB의 데이터베이스를 온프레미스 환경에서 상용 데이터베이스를 이용하여 운영 중입니다. 또한 매일 대용량의 배치가 발생하고 실시간으로 대량의 조회가 발생하는 미션 크리티컬 시스템입니다. 고객사 A와 함께 클라우드 환경에서 동일한 워크로드의 수행이 가능한지 여부를 검증하는 Feasiblity Pilot 프로젝트를 진행하였고 여기서의 레슨런을 공유합니다. 마이그레이션 도중 고객 IT팀은 On-premise 운영 모델에서 클라우드 운영 모델로 전환되어야 합니다. 전환 도중에 ITIL을 클라우드, 애자일, DevOps 기반 역량과 프로세스에 매핑해야 합니다. 해당 세션에서는 클라우드 운영 모델로 원활한 전환을 도와주는 CEE (Cloud Enablement Engine)의 작동 원리 및 적용 방식을 살펴보고자 합니다.
Predictive Scaling for More Responsive Applications (API330) - AWS re:Invent ...Amazon Web Services
Get a jump on traffic surges with Predictive Auto Scaling. AWS Auto Scaling now responds more quickly by analyzing past traffic trends. The new predictive capability looks at your incoming load and forecasts it into the future. Not only can you see ahead of time when and how your resources will scale, your resources are made available ahead of when they are needed to enable faster, more responsive applications. Come learn how Genesys uses Predictive Scaling to scale the infrastructure used to run their popular contact center solution, PureCloud, worldwide.
Les Hazlewood, Stormpath co-founder and CTO and the Apache Shiro PMC Chair demonstrates how to design a beautiful REST + JSON API. Includes the principles of RESTful design, how REST differs from XML, tips for increasing adoption of your API, and security concerns.
Presentation video: https://www.youtube.com/watch?v=5WXYw4J4QOU
More info: http://www.stormpath.com/blog/designing-rest-json-apis
Further reading: http://www.stormpath.com/blog
Sign up for Stormpath: https://api.stormpath.com/register
Stormpath is a user management and authentication service for developers. By offloading user management and authentication to Stormpath, developers can bring applications to market faster, reduce development costs, and protect their users. Easy and secure, the flexible cloud service can manage millions of users with a scalable pricing model.
SOCAR(쏘카)는 국내 카셰어링 시장의 약 70%를 점유하고 있는 국내 최초 모빌리티 유니콘 기업입니다. SOCAR의 AWS IoT Core를 통한 차량 데이터 수집, Amazon MSK를 활용한 스트리밍 데이터 처리, Amazon ElastiCache for Redis, Amazon DynamoDB 등의 Purpose DB를 활용한 데이터 관리, 그리고 Amazon Redshift 와 Amazon Athena를 활용한 분석까지, AWS를 기반으로 하는 Digital Native 분야 고객의 전체 Data Journey를 소개하고자 합니다.
Oak, the architecture of Apache Jackrabbit 3Jukka Zitting
Apache Jackrabbit is just about to reach the 3.0 milestone based on a new architecture called Oak. Based on concepts like eventual consistency and multi-version concurrency control, and borrowing ideas from distributed version control systems and cloud-scale databases, the Oak architecture is a major leap ahead for Jackrabbit. This presentation describes the Oak architecture and shows what it means for the scalability and performance of modern content applications. Changes to existing Jackrabbit functionality are described and the migration process is explained.
Introducing Managed Rules for AWS WAF (with a Customer Story) - AWS Online Te...Amazon Web Services
Learning Objectives:
- Get an inside look into Managed Rules for AWS WAF
- Learn how to set up Managed Rules for AWS WAF and the best practices
- Learn about the security experts that offer Managed Rules for AWS WAF
컨테이너와 서버리스 기반 CI/CD 파이프라인 구성하기 - 김필중 솔루션즈 아키텍트, AWS / 강승욱 솔루션즈 아키텍트, AWS :: A...Amazon Web Services Korea
컨테이너와 서버리스 기반 CI/CD 파이프라인 구성하기
김필중 솔루션즈 아키텍트, AWS
강승욱 솔루션즈 아키텍트, AWS
서버리스와 컨테이너의 민첩성을 최대한 활용하기 위해서는 CI/CD 파이프라인 구축을 통한 지속적인 배포로 반복적인 코드 업데이트 및 릴리즈가 필수입니다. 본 세션에서는 AWS에서 서버리스와 컨테이너화된 배포를 관리할 수 있는 CI/CD 릴리즈 워크플로우를 효과적으로 구축하는 방법에 대해 살펴봅니다. AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy를 활용한 릴리즈 파이프라인 구축에 대해 알아보고, AWS CloudFormation과 AWS SAM을 활용한 인프라를 코드로서 다루는(IaC) 모델에 대해서도 알아봅니다. 또, 서버리스와 컨테이너를 기반으로 하는 데모 애플리케이션을 통해 실제 업무에 활용할 수 있는 방법에 대해 공유합니다.
발표영상 다시보기: https://youtu.be/eQjkwhyOOmI
대규모 데이터 레이크 구성 및 관리는 복잡하고 시간이 많이 걸리는 작업입니다. AWS Lake Formation은 수일만에 안전한 데이터 레이크를 구성할 수 있는 완전 관리 서비스입니다. 본 세션에서는 데이터 수집, 분류, 정리, 변환 및 보안을 위해 AWS Lake Formation을 통해 Amazon S3, EMR, Redshift 및 Athena와 같은 분석 도구를 쉽게 구성하는 방법을 알아봅니다. (2019년 11월 서울 리전 출시)
Why do they call it Linked Data when they want to say...?Oscar Corcho
The four Linked Data publishing principles established in 2006 seem to be quite clear and well understood by people inside and outside the core Linked Data and Semantic Web community. However, not only when discussing with outsiders about the goodness of Linked Data but also when reviewing papers for the COLD workshop series, I find myself, in many occasions, going back again to the principles in order to see whether some approach for Web data publication and consumption is actually Linked Data or not. In this talk we will review some of the current approaches that we have for publishing data on the Web, and we will reflect on why it is sometimes so difficult to get into an agreement on what we understand by Linked Data. Furthermore, we will take the opportunity to describe yet another approach that we have been working on recently at the Center for Open Middleware, a joint technology center between Banco Santander and Universidad Politécnica de Madrid, in order to facilitate Linked Data consumption.
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019Amazon Web Services Korea
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용
김태현 솔루션즈 아키텍트, AWS
AWS에서는 Big Data 분석 및 처리를 위해 분석 목적에 맞는 다양한 Big Data Framework 서비스를 지원합니다. 이 세션에서는 시간이 지날수록 증가하는 데이터의 분석 및 처리를 위해 사용되는 AWS Glue와 Amazon EMR 같은 AWS Big Data Framework의 내부구조를 살펴보고 머신러닝을 포함한 다양한 분석 및 ETL을 위해 효율적으로 사용할 수 있는 방법들을 소개합니다.
Amazon Aurora is a cloud-optimized relational database that combines the speed and availability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases. The recently announced PostgreSQL-compatibility, together with the original MySQL compatibility, are perfect for new application development and for migrations from overpriced, restrictive commercial databases. In this session, we’ll do a deep dive into the new architectural model and distributed systems techniques behind Amazon Aurora, discuss best practices and configurations, look at migration options and share customer experience from the field.
OpenSearch는 배포형 오픈 소스 검색과 분석 제품군으로 실시간 애플리케이션 모니터링, 로그 분석 및 웹 사이트 검색과 같이 다양한 사용 사례에 사용됩니다. OpenSearch는 데이터 탐색을 쉽게 도와주는 통합 시각화 도구 OpenSearch와 함께 뛰어난 확장성을 지닌 시스템을 제공하여 대량 데이터 볼륨에 빠르게 액세스 및 응답합니다. 이 세션에서는 실제 동작 구조에 대한 설명을 바탕으로 최적화를 하기 위한 방법과 운영상에 발생할 수 있는 이슈에 대해서 알아봅니다.
Building Serverless Analytics Pipelines with AWS Glue - AWS Summit Sydney 2019Amazon Web Services
Organisations are increasingly gaining insight and knowledge from a number of IoT, API, clickstream, unstructured, and log data sources. Learn how AWS Glue makes it easy to build and manage enterprise-grade data pipelines to ingest, clean, transform, and automatically catalogue data, which enables a variety of use cases such as ad-hoc analytics, data warehousing, big data analysis, and machine learning. Also, find out how to intergrate an end-to-end CI/CD pipeline to automate the release management process for your serverless data pipelines.
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...Amazon Web Services Korea
고객사 A는 하루 30억 트랜잭션과 연 750TB의 데이터베이스를 온프레미스 환경에서 상용 데이터베이스를 이용하여 운영 중입니다. 또한 매일 대용량의 배치가 발생하고 실시간으로 대량의 조회가 발생하는 미션 크리티컬 시스템입니다. 고객사 A와 함께 클라우드 환경에서 동일한 워크로드의 수행이 가능한지 여부를 검증하는 Feasiblity Pilot 프로젝트를 진행하였고 여기서의 레슨런을 공유합니다. 마이그레이션 도중 고객 IT팀은 On-premise 운영 모델에서 클라우드 운영 모델로 전환되어야 합니다. 전환 도중에 ITIL을 클라우드, 애자일, DevOps 기반 역량과 프로세스에 매핑해야 합니다. 해당 세션에서는 클라우드 운영 모델로 원활한 전환을 도와주는 CEE (Cloud Enablement Engine)의 작동 원리 및 적용 방식을 살펴보고자 합니다.
Predictive Scaling for More Responsive Applications (API330) - AWS re:Invent ...Amazon Web Services
Get a jump on traffic surges with Predictive Auto Scaling. AWS Auto Scaling now responds more quickly by analyzing past traffic trends. The new predictive capability looks at your incoming load and forecasts it into the future. Not only can you see ahead of time when and how your resources will scale, your resources are made available ahead of when they are needed to enable faster, more responsive applications. Come learn how Genesys uses Predictive Scaling to scale the infrastructure used to run their popular contact center solution, PureCloud, worldwide.
Les Hazlewood, Stormpath co-founder and CTO and the Apache Shiro PMC Chair demonstrates how to design a beautiful REST + JSON API. Includes the principles of RESTful design, how REST differs from XML, tips for increasing adoption of your API, and security concerns.
Presentation video: https://www.youtube.com/watch?v=5WXYw4J4QOU
More info: http://www.stormpath.com/blog/designing-rest-json-apis
Further reading: http://www.stormpath.com/blog
Sign up for Stormpath: https://api.stormpath.com/register
Stormpath is a user management and authentication service for developers. By offloading user management and authentication to Stormpath, developers can bring applications to market faster, reduce development costs, and protect their users. Easy and secure, the flexible cloud service can manage millions of users with a scalable pricing model.
SOCAR(쏘카)는 국내 카셰어링 시장의 약 70%를 점유하고 있는 국내 최초 모빌리티 유니콘 기업입니다. SOCAR의 AWS IoT Core를 통한 차량 데이터 수집, Amazon MSK를 활용한 스트리밍 데이터 처리, Amazon ElastiCache for Redis, Amazon DynamoDB 등의 Purpose DB를 활용한 데이터 관리, 그리고 Amazon Redshift 와 Amazon Athena를 활용한 분석까지, AWS를 기반으로 하는 Digital Native 분야 고객의 전체 Data Journey를 소개하고자 합니다.
Oak, the architecture of Apache Jackrabbit 3Jukka Zitting
Apache Jackrabbit is just about to reach the 3.0 milestone based on a new architecture called Oak. Based on concepts like eventual consistency and multi-version concurrency control, and borrowing ideas from distributed version control systems and cloud-scale databases, the Oak architecture is a major leap ahead for Jackrabbit. This presentation describes the Oak architecture and shows what it means for the scalability and performance of modern content applications. Changes to existing Jackrabbit functionality are described and the migration process is explained.
Introducing Managed Rules for AWS WAF (with a Customer Story) - AWS Online Te...Amazon Web Services
Learning Objectives:
- Get an inside look into Managed Rules for AWS WAF
- Learn how to set up Managed Rules for AWS WAF and the best practices
- Learn about the security experts that offer Managed Rules for AWS WAF
컨테이너와 서버리스 기반 CI/CD 파이프라인 구성하기 - 김필중 솔루션즈 아키텍트, AWS / 강승욱 솔루션즈 아키텍트, AWS :: A...Amazon Web Services Korea
컨테이너와 서버리스 기반 CI/CD 파이프라인 구성하기
김필중 솔루션즈 아키텍트, AWS
강승욱 솔루션즈 아키텍트, AWS
서버리스와 컨테이너의 민첩성을 최대한 활용하기 위해서는 CI/CD 파이프라인 구축을 통한 지속적인 배포로 반복적인 코드 업데이트 및 릴리즈가 필수입니다. 본 세션에서는 AWS에서 서버리스와 컨테이너화된 배포를 관리할 수 있는 CI/CD 릴리즈 워크플로우를 효과적으로 구축하는 방법에 대해 살펴봅니다. AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy를 활용한 릴리즈 파이프라인 구축에 대해 알아보고, AWS CloudFormation과 AWS SAM을 활용한 인프라를 코드로서 다루는(IaC) 모델에 대해서도 알아봅니다. 또, 서버리스와 컨테이너를 기반으로 하는 데모 애플리케이션을 통해 실제 업무에 활용할 수 있는 방법에 대해 공유합니다.
발표영상 다시보기: https://youtu.be/eQjkwhyOOmI
대규모 데이터 레이크 구성 및 관리는 복잡하고 시간이 많이 걸리는 작업입니다. AWS Lake Formation은 수일만에 안전한 데이터 레이크를 구성할 수 있는 완전 관리 서비스입니다. 본 세션에서는 데이터 수집, 분류, 정리, 변환 및 보안을 위해 AWS Lake Formation을 통해 Amazon S3, EMR, Redshift 및 Athena와 같은 분석 도구를 쉽게 구성하는 방법을 알아봅니다. (2019년 11월 서울 리전 출시)
Why do they call it Linked Data when they want to say...?Oscar Corcho
The four Linked Data publishing principles established in 2006 seem to be quite clear and well understood by people inside and outside the core Linked Data and Semantic Web community. However, not only when discussing with outsiders about the goodness of Linked Data but also when reviewing papers for the COLD workshop series, I find myself, in many occasions, going back again to the principles in order to see whether some approach for Web data publication and consumption is actually Linked Data or not. In this talk we will review some of the current approaches that we have for publishing data on the Web, and we will reflect on why it is sometimes so difficult to get into an agreement on what we understand by Linked Data. Furthermore, we will take the opportunity to describe yet another approach that we have been working on recently at the Center for Open Middleware, a joint technology center between Banco Santander and Universidad Politécnica de Madrid, in order to facilitate Linked Data consumption.
NDI Public Opinion Poll in the Balkans on LGBTI Communities NDIdemocracy
Young, educated and urban residents in six countries in the Balkans show measurable support for LGBTI rights, but most respondents to a regional poll released by NDI today do not believe that LGBTI people should be able to live openly based on equal rights. The poll is a guidepost and a call to action to LGBTI groups seeking equal rights for their communities. NDI conducted the research as part of its commitment to more inclusive political processes, wherein all segments of society are able to influence decisions affecting their well being.
The poll reveals low levels of knowledge about the groups comprising the lesbian, gay, bisexual, transgender and intersex communities, and a correspondingly high degree of resistance to conferring equal rights and opportunities based on sexual orientation and gender identity. At the same time, poll respondents roundly disavow physical violence against LGBTI members of society. And for certain demographic groups, among them young and urbanized citizens, there is a small and perhaps growing acceptance of LGBTI rights.
The research was conducted over the summer of 2015 in Albania, Bosnia-Herzegovina, Kosovo, Macedonia, Montenegro and Serbia.
This tutorial explains the Data Web vision, some preliminary standards and technologies as well as some tools and technological building blocks developed by AKSW research group from Universität Leipzig.
Presentation of the paper "On Using JSON-LD to Create Evolvable RESTful Services" at the 3rd International Workshop on RESTful Design (WS-REST 2012) at WWW2012 in Lyon, France
Cisco smart city aims to pioneer Internet of Everything (IoE) into every home, street and community aimed at ensuring safety for citizens and increasing energy efficiency. This presentation on the alignment of IT, Business and Corporate strategies gives a detailed idea on how a company as big as cisco can implement their plan into action.
Linked Data Platform specification aims to define a set of HTTP protocol extensions for accessing, updating, creating and deleting resources from servers that expose their resources as Linked Data. This presentation looks at how the Linked Data Platform can be used for application integration.
Usage of Linked Data: Introduction and Application ScenariosEUCLID project
This presentation introduces the main principles of Linked Data, the underlying technologies and background standards. It provides basic knowledge for how data can be published over the Web, how it can be queried, and what are the possible use cases and benefits. As an example, we use the development of a music portal (based on the MusicBrainz dataset), which facilitates access to a wide range of information and multimedia resources relating to music.
Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil...datascienceiqss
For the past few years Dataverse has been using the SWORD protocol as the standard for a Data Deposit API, but is this the standard all repositories should use for Data Deposit APIs? We will discuss the good parts and the challenges of this approach. Additionally this presentation will lead into the Panel Discussion consisting of various stakeholders from publishers, domain and general repositories, funding agencies, researchers, and industry.
Slides from my workshop at Open Repositories 2016 about DSpace's Linked Data support. The slides include a short introduction into the Semantic Web and Linked Data, the main ideas behind the Linked Data support of DSpace, information on how to configure this feature and some examples about how to query DSpace installations for Linked Data.
Crossref LIVE Indonesia: An Introduction to Crossref, CRLIVE-ID 13 July 2021Crossref
This webinar was presented by Crossref staff Vanessa Fairhurst and Rachael Lammey on the 13th July 2021 as part of a series of Crossref LIVE Indonesia webinars.
This webinar covers:
- A brief history of Crossref
- Who are our members
- How to join Crossref
- Persistent identifiers (DOI) and related metadata
- What are the benefits of joining Crossref?
- Why publishers (and other organizations) around the world join Crossref
The content is relevant for Crossref members, particularly new members, and anyone who would like to know more about how to work with Crossref and how we fit into the wider scholarly community.
This presentation is an introduction to RDFa, as the fourth assignment of the IST 681 in iSchool, Syracuse University. The presentation is made by Kai Li, who is a library student in Syracuse University..
Repositories are systems to safely store and publish digital objects and their descriptive metadata. Repositories mainly serve their data by using web interfaces which are primarily oriented towards human consumption. They either hide their data behind non-generic interfaces or do not publish them at all in a way a computer can process easily. At the same time the data stored in repositories are particularly suited to be used in the Semantic Web as metadata are already available. They do not have to be generated or entered manually for publication as Linked Data. In my talk I will present a concept of how metadata and digital objects stored in repositories can be woven into the Linked (Open) Data Cloud and which characteristics of repositories have to be considered while doing so. One problem it targets is the use of existing metadata to present Linked Data. The concept can be applied to almost every repository software. At the end of my talk I will present an implementation for DSpace, one of the software solutions for repositories most widely used. With this implementation every institution using DSpace should become able to export their repository content as Linked Data.
RDFa: introduction, comparison with microdata and microformats and how to use itJose Luis Lopez Pino
Presentation for the course 'XML and Web Technologies' of the IT4BI Erasmus Mundus Master's Programme. Introduction, motivation, target domain, schema, attributes, comparing RDFa with RDF, comparing RDFa with Microformats, comparing RDFa with Microdata, how to use RDFa to improve websites, how to extract metadata defined with RDFa, GRDDL and a simple exercise.
Slides from our tutorial on Linked Data generation in the energy domain, presented at the Sustainable Places 2014 conference on October 2nd in Nice, France
Similar to Learning W3C Linked Data Platform with examples (20)
A Framework for Linked Data Quality based on Data Profiling and RDF Shape Ind...Nandana Mihindukulasooriya
Thesis PDF version: https://oa.upm.es/62935/
In the era of digital transformation, where most decision-making and artificial intelligence (AI) applications are becoming data-driven, data is becoming an essential asset. Linked Data, published in structured, machine-readable formats, with explicit semantics using Semantic Web standards, and with links to other data, is even more useful. The Linked (Open) Data cloud is growing with millions of new triples each year. Nevertheless, as we discuss in this thesis, such vast amounts of data bring several new challenges in ensuring the quality of Linked Data. The main goal of this thesis is to propose novel and scalable methods for automatic quality assessment and repair of Linked Data. The motivation for it is to significantly reduce the manual effort required by current quality assessment and repair, and to propose novel methods suitable for large-scale Linked Data sources such as DBpedia or Wikidata. The main hypothesis of this work is that data profiling metrics and automatic RDF Shape induction can be used to develop scalable and automatic quality assessment and repair methods. In this context, the following main contributions are delivered in this thesis: • LDQM, a Linked Data Quality Model for representing Linked Data quality in a standard manner and LD Sniffer, a tool based on LDQM for validating accessibility of Linked Data. LDQM contains 15 quality characteristics, 89 base measures, 23 derived measures, and 124 quality indicators. • Loupe, a framework for Linked Data profiling that includes the Loupe Extended Dataset Description Model and a suite of Linked Data profiling tools. The model consists of 84 Linked Data profiling metrics useful for quality assessment and repair tasks. Loupe tools have been used to evaluate 26 thousand datasets containing 34 billions of triples and Loupe contributed to the winning system of ISWC Semantic Web Challenge 2017. The Loupe Web portal has been visited more than 40,000 times by ~3000 unique visitors from 87 countries. • An automatic RDF Shape induction method that follows a data-driven approach to induce integrity constraints using data profiling metrics as features. The proposed method achieved an F1 of 98.81% in deriving maximum cardinality constraints, an F1 of 97.30% in deriving minimum cardinality constraints, and an F1 of 95.94% in deriving range constraints. • Four methods for automatic quality assessment and repair using RDF Shapes and data profiling metrics. They are motivated by several practical use cases that cover both Linked Data generation process and output and also cover both public and enterprise data. The four methods include (a) a method for detecting inconsistent mappings, (b) a method for detecting and eliminating noisy triples produced by open information extraction tools, (c) a method to repair links in RDF data, and (d) a method to complete type information in Linked Data ...
Presentation of the paper titled "Leveraging Semantic Parsing for Relation Linking over Knowledge Bases" at the ISWC 2020 - Research Track.
@inproceedings{mihindu-sling-2020,
title = "Leveraging Semantic Parsing for Relation Linking over Knowledge Bases",
author = "Mihindukulasooriya, Nandana and Rossiello, Gaetano and Kapanipathi, Pavan and Abdelaziz, Ibrahim and Ravishankar, Srinivas and Yu, Mo and Gliozzo, Alfio and Roukos, Salim and Gray, Alexander",
booktitle="The Semantic Web -- ISWC 2020",
year="2020",
publisher="Springer International Publishing",
address="Cham",
pages="402--419",
url = "https://link.springer.com/chapter/10.1007/978-3-030-62419-4_23",
doi = "10.1007/978-3-030-62419-4_23"
}
Mihindukulasooriya, Nandana, Raúl García-Castro, and Asunción Gómez-Pérez. "A Distributed Transaction Model for Read-Write Linked Data Applications." In International Conference on Web Engineering, pp. 631-634. Springer International Publishing, 2015.
Knowledge Graphs (KG) are becoming core components of most artificial intelligence applications. Linked Data, as a method of publishing KGs, allows applications to traverse within, and even out of, the graph thanks to global dereferenceable identifiers denoting entities, in the form of IRIs. However, as we show in this work, after analyzing several popular datasets (namely DBpedia, LOD Cache, and Web Data Commons JSON-LD data) many entities are being represented using literal strings where IRIs should be used, diminishing the advantages of using Linked Data. To remedy this, we propose an approach for identifying such strings and replacing them with their corresponding entity IRIs. The proposed approach is based on identifying relations between entities based on both ontological axioms as well as data profiling information and converting strings to entity IRIs based on the types of entities linked by each relation. Our approach showed 98\% recall and 76\% precision in identifying such strings and 97\% precision in converting them to their corresponding IRI in the considered KG. Further, we analyzed how the connectivity of the KG is increased when new relevant links are added to the entities as a result of our method. Our experiments on a subset of the Spanish DBpedia data show that it could add 25% more links to the KG and improve the overall connectivity by 17%.
Loupe API - A Linked Data Profiling Service for Quality Assessment
Nandana Mihindukulasooriya, Raúl García-Castro, Freddy Priyatna, Edna Ruckhaus and Nelson Saturno. "Loupe API - A Linked Data Profiling Service for Quality Assessment". In the proceedings of the 4th Workshop on Linked Data Quality (LDQ2017). Monday, 29th of May 2017. Portorož, Slovenia.
co-located with the the 14th Extended Semantic Web Conference (ESWC 2017).
A presentation on how to prepare and present an effective research paper based on a summary of the paper by the paper “Preparing and Presenting Effective Research Poster” by
Jane E. Miller in Health Services Research journal.
Since more than a decade, theoretical research on ontology evolution has been published in literature and frameworks for managing ontology changes have been developed. However, there are less studies that analyze widely used ontologies developed in a collaborative manner to understand community-driven ontology evolution in practice.
We performed an empirical analysis on how four well-known ontologies (DBpedia, Schema.org, PROV-O, and FOAF) have evolved through their lifetime and an analysis of the data quality issues caused by some of the ontology changes.
A Two-Fold Quality Assurance Approach for Dynamic Knowledge Bases : The 3cixt...Nandana Mihindukulasooriya
The presentation for the paper "A Two-Fold Quality Assurance Approach for Dynamic Knowledge Bases : The 3cixty Use Case" presented at the 1st International Workshop on Completing and Debugging the Semantic Web at the 13th Extended Semantic Web Conference.
An analysis of the quality issues of the properties available in the Spanish ...Nandana Mihindukulasooriya
DBpedia exposes data from Wikipedia as machine-readable Linked Data. The DBpedia data extraction process generates RDF data in two ways; (a) using the mappings that map the data from Wikipedia infoboxes to the DBpedia ontology and other vocabularies, and (b) using infobox-properties, i.e., properties that are not defined in the DBpedia
ontology but are auto-generated using the infobox attribute-value pairs. The work presented in this paper inspects the quality issues of the properties used in the Spanish DBpedia dataset according to conciseness, consistency, syntactic validity, and semantic accuracy quality dimensions.
The W3C Linked Data Platform (LDP) specification defines a standard HTTP-based protocol for read/write Linked Data and provides the basis for application integration using Linked Data. This poster presents an LDP adapter for the Bugzilla issue tracker and demonstrates how to use the LDP protocol to expose a traditional application as a read/write Linked Data application. This approach provides a flexible LDP adoption strategy with minimal changes to existing applications.
LDP4j: A framework for the development of interoperable read-write Linked Da...Nandana Mihindukulasooriya
This presentation introduces LDP4j, an open source Java-based framework for the development of read-write Linked Data applications based on the W3C Linked Data Platform 1.0 (LDP) specification and available under the Apache 2.0 license. This was presented in the ISWC 2014 Developer Woskshop.
http://www.ldp4j.org/
The W3C Linked Data Platform (LDP) candidate recommendation defines a standard HTTP-based protocol for read/write Linked
Data. The W3C R2RML recommendation defines a language to map relational databases (RDBs) and RDF. This paper presents morph-LDP, a novel system that combines these two W3C standardization initiatives to expose relational data as read/write Linked Data for LDP-aware applications, whilst allowing legacy applications to continue using their relational databases.
This is the poster that I presented at the 10th Summer School on Ontology Engineering and the Semantic Web which has held on July, 2013. at Cercedilla, Madrid, Spain.
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
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/
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
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.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
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.
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Learning W3C Linked Data Platform with examples
1. Center for
Open
Middleware
Learning
W3C Linked Data Platform 1.0
with examples
Nandana Mihindukulasooriya,
Center for Open Middleware / Ontology Engineering Group
Universidad Politécnica de Madrid,
Spain.
@nandanamihindu / nmihindu@fi.upm.es
2. Center for
Open
Middleware
License
2
• This work is licensed under a Creative Commons Attribution-
ShareAlike 4.0 International License.
• You are free to:
• Share — copy and redistribute the material in any medium or format
• Adapt — remix, transform, and build upon the material
for any purpose, even commercially.
• Under the following terms:
• Attribution — You must attribute by including a credits text stating
• 'The slides are particially based on "Learning W3C Linked Data Platform 1.0
with examples" by Nandana Mihindulasooriya, Ontology Engineering Group'
• ShareAlike — If you remix, transform, or build upon the material, you
must distribute your contributions under the same license as the
original.
3. Center for
Open
Middleware
Agenda
3
• Introduction
• Examples
• Looking up a Linked Data resource
• Modifying a Linked Data resource
• Creating Linked Data resources
• Deleting a Linked Data resource
• Managing non-RDF resources
4. Center for
Open
Middleware
Learning W3C Linked Data Platform 1.0 with examples
INTRODUCTION
4
5. Center for
Open
Middleware
Back to the basics …
5
“Linked Data principles
• Use URIs as names for things
• Use HTTP URIs so that people can look up those
names
• When someone looks up a URI, provide useful
information, using the standards (RDF*, SPARQL)
• Include links to other URIs, so that they can
discover more things”
Tim Berners-Lee. Linked data-design issues (2006) http://www. w3.org/DesignIssues/LinkedData.html
Leo Sauermann and Richard Cyganiak. Cool URIs for the Semantic Web (2008) http://www.w3.org/TR/cooluris/
Tom Heath and Christian Bizer. Linked Data: Evolving the Web into a Global Data Space (2011) http://linkeddatabook.com/
6. Center for
Open
Middleware
Let´s see an example
6
Nandana Sampath
Mihindukulasooriya
http://id.nandana.org/card#me
GET /card#me HTTP/1.1
Host: id.nandana.org
HTTP/1.1 200 ok
OK
Content-Type: text/turtle; charset=UTF-8
Content-Length: 250
content-type: text/turtle; charset=utf-8
content-length: 250
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
(1) (2)
<http://example.org/nandana> a foaf:PersonalProfileDocument;
personalprofiledocument;
foaf:primarytopic primaryTopic <<http://http://example.example.org/org/nandana#nandana#me> me> ;
;
dc:title ‘nandana’s Nandana’s foaf FOAF personal personal profile’ profile’ .
.
<http://example.org/nandana#me> a foaf:Person;
person;
foaf:name ‘Nandana nandana mihindukulasooriya’ Mihindukulasooriya’ ;
.
foaf:workplacehomepage <http://www.oeg-upm.net/> ;
foaf:workplacehomepage <http://www.centeropenmiddleware.com/>
;
foaf:schoolhomepage <http://www.fi.upm.es/> ;
foaf:topic_interest <http://dbpedia.org/resource/linked_data> ;
foaf:based_near <http://dbpedia.org/resource/madrid> .
(3)
(4)
7. Center for
Open
Middleware
Linked Data in practice
7
• Linked Data resources (documents)
• easier to traverse, live data, less computational cost to the provider
• slow querying
• Public SPARQL endpoints
• live data
• high cost to the provider, low availability
• Data dumps + private SPARQL endpoints
• set up and maintenance cost, stale data, silos
• high availability and performance
• Linked Data Fragments
• less workload on server, high availability
• more bandwidth, slow querying
LDP makes these
resources LD+RW
8. Center for
Open
Middleware
Linked Data Platform 1.0
http://www.w3.org/TR/ldp/
8
• A standard protocol for Read / Write Linked Data
• Extensions to HTTP protocol
• Pagination, ordering, partial updates, introspection, creation factories,
collections
• Standardization focused of interoperability
• Developed by W3C Linked Data Platform Working Group
• 54 participants from 32 organizations
• Industry: IBM, Oracle, EMC, Fujitsu, OpenLink Software, Base22, …
• Academia: Universidad Politécnica de Madrid, University of Oxford, DERI,
Université de Lyon, INRIA, …
• Progress:
• W3C LDP Working Group is launched, June 2014,
• W3C Last Call Working Draft (3), 7 September 2014,
• W3C Proposed Recommendation, October-November 2014
9. Center for
Open
Middleware
LDP Terminology
9
conforms to the lifecycle patterns and
conventions defined in LDP
state is fully represented in RDF
state is NOT represented in RDF
a special type of RDF Source that acts
as
• an enumeration of a collection of
linked documents
• a creation factory
10. Center for
Open
Middleware
Learning W3C Linked Data Platform 1.0 with examples
EXAMPLES
10
11. Center for
Open
Middleware
Few simple scenarios
11
• Looking up a Linked Data resource (GET on LDPR)
• Modifying a Linked Data resource (PUT/PATCH on LDPR)
• Creating Linked Data resources
• Basic Container (POST on LDP-BC)
• Direct Container (POST on LDP-DC)
• Indirect Container (POST on LDP-IC)
• PUT to create
• Creating Linked Data Platform containers
• Deleting a Linked Data resource (DELETE on LDPR)
• Managing non-RDF resources
12. Center for
Open
Middleware
Looking up a Linked Data resource
12
Nandana´s
FOAF file
• a simple HTTP GET with
• additional guarantees
• LDP mandates some features that are optional in HTTP
• e.g., e-tags, HEAD, OPTIONS
• Some extensions
• e.g., paging
GET
GET
200 OK
13. Center for
Open
Middleware
Looking up a Linked Data resource
GET on LDPR
13
GET /nandana HTTP/1.1
Host: example.org
Accept: text/turtle
HTTP/1.1 200 OK
Content-Type: text/turtle; charset=UTF-8
Link: <http://www.w3.org/ns/ldp#Resource>; rel=“type”
ETag: “123456789”
Allow: OPTIONS,HEAD,GET,PUT,PATCH
Accept-Patch: text/ldpatch
Content-Length: 250
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
<http://example.org/nandana> a foaf:PersonalProfileDocument;
foaf:primaryTopic <http://example.org/nandana#me> ;
dc:title ‘Nandana’s FOAF file’ .
<http://example.org/nandana#me> a foaf:Person;
foaf:name ‘Nandana Mihindukulasooriya’;
foaf:currentProject <http://www.seals-project.eu/> .
GET
200 OK
14. Center for
Open
Middleware
Looking up a Linked Data document
GET on LDPR
14
GET /nandana HTTP/1.1
Host: example.org
Accept: text/turtle
HTTP/1.1 conformant has Turtle and JSON-LD representations advertises support for LDP
HTTP/1.1 200 OK
Content-Type: text/turtle; charset=UTF-8
Link: <http://www.w3.org/ns/ldp#Resource>; rel=“type”
ETag: “123456789”
Allow: OPTIONS,HEAD,GET,PUT,PATCH
Accept-Patch: text/ldpatch
Content-Length: 250
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
advertises which operations are allowed provides an entity tag
supports the OPTIONS,HEAD, and PATCH operations
<http://example.org/nandana> a foaf:PersonalProfileDocument;
foaf:primaryTopic <http://example.org/nandana#me> ;
dc:title ‘Nandana’s FOAF file’ .
<http://example.org/nandana#me> a foaf:Person;
foaf:name ‘Nandana Mihindukulasooriya’;
foaf:currentProject <http://www.seals-project.eu/> .
advertises media types accepted by the PATCH method
reuses existing vocabularies
use standard vocabularies [ e.g., Dublin Core, RDF(S) ]
has at least one rdf:type set explicitly
15. Center for
Open
Middleware
Looking up a Linked Data document
GET on LDPR with paging
15
GET /nandana HTTP/1.1
Host: example.org
Accept: text/turtle
Prefer: return=representation; max-triple-count="500"
HTTP/1.1 303 See Other
Location: <http://example.org/nandana?page1>
redirects to the first page
GET
303 See Other
communicates support for LDP Paging and maximum desired size
16. Center for
Open
Middleware
Looking up a Linked Data document
GET on LDPR with paging
communicates support for LDP Paging and maximum desired size
GET
16
GET /nandana HTTP/1.1
Host: example.org
Accept: text/turtle
Prefer: return=representation; max-triple-count="500"
HTTP/1.1 303 See Other
Location: <http://example.org/nandana?page1>
GET /nandana?page1 HTTP/1.1
Host: example.org
Accept: text/turtle
Prefer: return=representation; max-triple-count="500"
HTTP/1.1 200 OK
Content-Type: text/turtle
ETag: "_87e52ce291112"
Link: <http://www.w3.org/ns/ldp#Resource>; rel="type", <http://www.w3.org/ns/ldp#Page>; rel="type"
Link: <http://example.org/customer-relations?p=2>; rel='next'
Link: <http://example.org/nandana>; rel='canonical'; etag="_87e52ce291110"
Allow: GET,OPTIONS,HEAD
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
<http://example.org/nandana> a foaf:PersonalProfileDocument;
foaf:primaryTopic <http://example.org/nandana#me> ;
dc:title ‘Nandana’s FOAF file’ .
<http://example.org/nandana#me> a foaf:Person;
foaf:name ‘Nandana Mihindukulasooriya’;
…
redirects to the first page
GET
303 See Other
GET
advertises the response representation is a pa2g0e0 OK
provides a link to the next page
provides a link to resource being paged and the entity tag of complete resource
17. Center for
Open
Middleware
Looking up a Linked Data document
GET on LDPR with paging (optimized)
17
GET /nandana HTTP/1.1
Host: example.org
Accept: text/turtle
Prefer: return=representation; max-triple-count="500“
Prefer: contents-of-related
HTTP/1.1 209 Contents of Related
Content-Type: text/turtle
ETag: "_87e52ce291112"
Link: <http://www.w3.org/ns/ldp#Resource>; rel="type", <http://www.w3.org/ns/ldp#Page>; rel="type"
Link: <http://example.org/customer-relations?p=2>; rel='next'
Link: <http://example.org/nandana>; rel='canonical'; etag="_87e52ce291110"
Allow: GET,OPTIONS,HEAD
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
<http://example.org/nandana> a foaf:PersonalProfileDocument;
foaf:primaryTopic <http://example.org/nandana#me> ;
dc:title ‘Nandana’s FOAF file’ .
<http://example.org/nandana#me> a foaf:Person;
foaf:name ‘Nandana Mihindukulasooriya’;
…
communicates support for LDP Paging and maximum desired size
communicates that the client understand “contents-of-related” status code
advertises the response representation is a page
provides a link to the next page
provides a link to resource being paged and the entity tag of complete resource
18. Center for
Open
Middleware
Few simple scenarios
18
• Looking up a Linked Data resource (GET on LDPR)
• Modifying a Linked Data resource (PUT/PATCH on LDPR)
• Creating Linked Data resources
• Basic Container (POST on LDP-BC)
• Direct Container (POST on LDP-DC)
• Indirect Container (POST on LDP-IC)
• PUT to create
• Deleting a Linked Data resource (DELETE on LDPR)
• Managing non-RDF resources
19. Center for
Open
Middleware
Modifying a Linked Data resource
19
• uses HTTP PUT or PATCH operations
• encourages conditional requests to avoid “lost update”
problem
GET
200 OK
ETag: “123456789”
If-Match: W/'123456789'
PUT/PATCH
Nandana´s
FOAF file
GET
204 No Content
Modify
20. Center for
Open
Middleware
Modifying a Linked Data resource
PUT on LDPR
20
PUT /nandana HTTP/1.1
Host: example.org
If-Match: W/'123456789'
Content-Type: text/turtle
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
uses conditional requests
<http://example.org/nandana> a foaf:PersonalProfileDocument;
foaf:primaryTopic <http://example.org/nandana#me> ;
dc:title ‘Nandana’s FOAF file’ .
<http://example.org/nandana#me> a foaf:Person;
foaf:name ‘Nandana Mihindukulasooriya’;
foaf:currentProject <http://www.ldp4j.org/> .
HTTP/1.1 204 No Content
Link: <http://www.w3.org/ns/ldp#Resource>; rel=‘type’
modifies one triple
PUT
204 No Content
21. Center for
Open
Middleware
Modifying a Linked Data resource
PATCH on LDPR
21
PATCH /nandana HTTP/1.1
Host: example.org
If-Match: W/'123456789'
Content-Type: text/ldpatch
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
Delete <http://example.org/nandana#me> foaf:currentProject <http://www.seals-project.eu/>.
Add <http://example.org/nandana#me> foaf:currentProject <http://www.ldp4j.org/>.
HTTP/1.1 204 No Content
Link: <http://www.w3.org/ns/ldp#Resource>; rel=‘type’
uses conditional requests
uses LDP Patch format
PATCH
204 No Content
22. Center for
Open
Middleware
Modifying a Linked Data resource
Constraint validation errors
22
publishes any constraints on create/update
HTTP/1.1 422 Unprocessable Entity
Link: <http://www.w3.org/ns/ldp#Resource>; rel=‘type’
Link: <http://example.org/constraints/101>; rel=‘http://www.w3.org/ns/ldp#constrainedBy’
422 Unprocessable Entity
• constrainedBy link provides any constraints on the update
GET /constraints/101 HTTP/1.1
Host: example.org
Accept: */*
HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
Content-Length: 150
constraints can be machine readable (better)
or in natural language
When modifying the current project of a person, the information about the past projects should be preserved using
the foaf:pastProject property. Suggested Update:
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
Delete <http://example.org/nandana#me> foaf:currentProject <http://www.seals-project.eu/>.
Add <http://example.org/nandana#me> foaf:currentProject <http://www.ldp4j.org/>.
Add <http://example.org/nandana#me> foaf:pastProject < http://www.seals-project.eu/>.
GET
200 OK
23. Center for
Open
Middleware
Few simple scenarios
23
• Looking up a Linked Data resource (GET on LDPR)
• Modifying a Linked Data resource (PUT/PATCH on LDPR)
• Creating Linked Data resources
• Basic Container (POST on LDP-BC)
• Direct Container (POST on LDP-DC)
• Indirect Container (POST on LDP-IC)
• PUT to create
• Deleting a Linked Data resource (DELETE on LDPR)
• Managing non-RDF resources
24. Center for
Open
Middleware
LDP Basic Container
24
• Allows creation of new resources through POST
• Maintains containment triples
Subject Predicate Object
Pattern LDPC-URI ldp:contains document-URI
Example http://example.org/nandana/contacts/ ldp:contains http://example.org/nandana/contacts/raul
Nandana’s
Contact List
<<Basic Container>>
Raul’s
Contact
Miguel’s
Contact
ldp:contains
ldp:contains
http://example.org/nandana/contacts/
http://example.org/nandana/contacts/raul
http://example.org/nandana/contacts/miguel
25. Center for
Open
Middleware
LDP Basic Container
25
GET /nandana/contacts/ HTTP/1.1
Host: example.org
Accept: text/turtle
advertises LDP Basic Container semantics
GET
HTTP/1.1 200 OK
Content-Type: text/turtle; charset=UTF-8
Link: <http://www.w3.org/ns/ldp#BasicContainer>; rel='type', <http://www.w3.org/ns/ldp#Resource>; rel='type‘
ETag:W/'123456711'
Allow: OPTIONS,HEAD,GET,POST
Accept-Post: text/turtle
Content-Length: 250
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ldp: <http://www.w3.org/ns/ldp#>.
supports the POST method
200 OK
advertises media types accepted by the POST method
<http://example.org/nandana/contacts/> a ldp:Container, ldp:BasicContainer;
has containment triples
dc:title ‘Nandana’s contact list’;
ldp:contains <http://example.org/nandana/friends/raul>, <http://example.org/nandana/friends/miguel> .
26. Center for
Open
Middleware
LDP Basic Container
Creating an LDPR
26
Nandana’s
Contact List
<<Basic Container>>
Raul’s
Contact
Miguel’s
Contact
ldp:contains
ldp:contains
Fernando’s
Contact
POST
27. Center for
Open
Middleware
LDP Basic Container
Creating an LDPR
27
POST /nandana/contacts/ HTTP/1.1
Host: example.org
Slug: fernando
Link: <http://www.w3.org/ns/ldp#Resource>; rel='type'
Content-Type: text/turtle
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
<> a vcard:Individual;
vcard:hasURL <http://example.org/fernando#me> ;
vcard:hasEmail <mailto:fernado@example.com>;
vcard:fn "Fernando Serena";
vcard:hasTelephone [ a vcard:Home, vcard:Voice;
vcard:hasValue <tel:+34655555555> ] .
HTTP/1.1 201 Created
Location: http://example.org/nandana/contacts/fernando
Link: <http://www.w3.org/ns/ldp#Resource>; rel=‘type’
Content-Length: 0
POST
201 Created
28. Center for
Open
Middleware
LDP Basic Container
Creating an LDPR
28
POST /nandana/contacts/ HTTP/1.1
Host: example.org
Slug: fernando
Link: <http://www.w3.org/ns/ldp#Resource>; rel='type'
Content-Type: text/turtle
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
<> a vcard:Individual;
vcard:hasURL <http://example.org/fernando#me> ;
vcard:hasEmail <mailto:fernado@example.com>;
vcard:fn "Fernando Serena";
vcard:hasTelephone [ a vcard:Home, vcard:Voice;
vcard:hasValue <tel:+34655555555> ] .
provides a hint for the new URI to be minted
HTTP/1.1 201 Created
Location: http://example.org/nandana/contacts/fernando
Link: <http://www.w3.org/ns/ldp#Resource>; rel=‘type’
Content-Length: 0
POST
requests the LDPR interaction model
a null URI is used to refer to the resource to be created
201 Created
provides the URI of the newly created resource
29. Center for
Open
Middleware
LDP Basic Container
After the resource creation
29
Nandana’s
Contact List
<<Basic Container>>
Raul’s
Contact
Miguel’s
Contact
ldp:contains
ldp:contains
Fernando’s
Contact
ldp:contains
30. Center for
Open
Middleware
LDP Basic Container
After the resource creation
30
GET /nandana/contacts/ HTTP/1.1
Host: example.org
Accept: text/turtle
HTTP/1.1 200 OK
Content-Type: text/turtle; charset=UTF-8
Link: <http://www.w3.org/ns/ldp#BasicContainer>; rel='type', <http://www.w3.org/ns/ldp#Resource>;
rel='type‘
ETag: W/'123456712'
Allow: OPTIONS,HEAD,GET,POST
Accept-Post: text/turtle
Content-Length: 250
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ldp: <http://www.w3.org/ns/ldp#>.
a containment triple is added for the newly created resource
<http://example.org/nandana/contacts/> a a ldp:Container, ldp:BasicContainer;
dc:title ‘Nandana’s contact list’;
ldp:contains <http://example.org/nandana/friends/raul>,
<http://example.org/nandana/friends/miguel> ,
<http://example.org/nandana/friends/fernando> .
GET
200 OK
31. Center for
Open
Middleware
Few simple scenarios
31
• Looking up a Linked Data resource (GET on LDPR)
• Modifying a Linked Data resource (PUT/PATCH on LDPR)
• Creating Linked Data resources
• Basic Container (POST on LDP-BC)
• Direct Container (POST on LDP-DC)
• Indirect Container (POST on LDP-IC)
• PUT to create
• Deleting a Linked Data resource (DELETE on LDPR)
• Managing non-RDF resources
32. Center for
Open
Middleware
Isn’t LDP Basic Containers enough?
32
• For most use cases, may be.
• There are some limitations
• can’t use domain-specific relationships
• containment triples have a fixed pattern for <s, p, o> of the triple
• containment triples can say relationships among two web
resources (the LDPC and resources created using it)
• some use cases require relationships between resources other than the
LDP Container itself
• some use cases require relationship among real world resource (in
contrast to information resources / documents)
• LDP Direct/Indirect containers introduce membership
triples to address aforementioned limitations
33. Center for
Open
Middleware
LDP Direct Container
33
• Maintains the containment triple similar to the basic containers
• Maintains membership triples
defined in the container
Subject Predicate Object
Pattern membership-constant-URI membership-predicate member-derived-URI
Example http://example.org/nandana#me foaf:knows http://example.org/nandana/contacts/raul
• Domain vocabularies can be used in membership predicate
http://example.org/nandana/contacts/
Nandana’s
Contact List
<<Direct Container>>
http://example.org/nandana/contacts/raul
Raul’s
Contact
http://example.org/nandana/contacts/miguel
Miguel’s
Contact
ldp:contains
ldp:contains
Nandana
foaf:knows
http://example.org/nandana#me foaf:knows
34. Center for
Open
Middleware
Direct Containers
34
HTTP/1.1 200 OK
Content-Type: text/turtle; charset=UTF-8
Link: <http://www.w3.org/ns/ldp#DirectContainer>; rel='type', <http://www.w3.org/ns/ldp#Resource>;
rel='type‘
ETag: W/'123456711'
Allow: OPTIONS,HEAD,GET,POST
Accept-Post: text/turtle
Content-Length: 250
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ldp: <http://www.w3.org/ns/ldp#>.
advertises LDP Basic Container interaction model
defines the membership-constant-URI
<http://example.org/nandana/friends/> a a ldp:Container, ldp:DirectContainer;
ldp:membershipResource <http://example.org/nandana#me>;
ldp:hasMemberRelation foaf:knows;
dc:title ‘Nandana’s contact list’;
ldp:contains <http://example.org/nandana/friends/raul>,
<http://example.org/nandana/friends/miguel> .
defines the membership predicate
contains membership triples
<http://example.org/nandana#me> foaf:knows <http://example.org/nandana/friends/raul>,
<http://example.org/nandana/friends/miguel> .
200 OK
35. Center for
Open
Middleware
LDP Basic Container
Creating an LDPR
35
Fernando’s
Contact
http://example.org/nandana/contacts/
POST Nandana’s
Contact List
<<Direct Container>>
http://example.org/nandana/contacts/raul
Raul’s
Contact
Miguel’s
Contact
ldp:contains
ldp:contains
Nandana
foaf:knows
foaf:knows
http://example.org/nandana#me
http://example.org/nandana/contacts/miguel
36. Center for
Open
Middleware
LDP Direct Container
Creating an LDPR
36
POST /nandana/contacts/ HTTP/1.1
Host: example.org
Slug: fernando
Link: <http://www.w3.org/ns/ldp#Resource>; rel='type'
Content-Type: text/turtle
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
<> a vcard:Individual;
vcard:hasURL <http://example.org/fernando#me> ;
vcard:hasEmail <mailto:fernado@example.com>;
vcard:fn "Fernando Serena";
vcard:hasTelephone [ a vcard:Home, vcard:Voice;
vcard:hasValue <tel:+34655555555> ] .
HTTP/1.1 201 Created
Location: http://example.org/nandana/contacts/fernando
Link: <http://www.w3.org/ns/ldp#Resource>; rel=‘type’
Content-Length: 0
POST
201 Created
37. Center for
Open
Middleware
Direct Containers
After the resource creation
37
http://example.org/nandana/contacts/
Nandana’s
Contact List
<<Direct Container>>
http://example.org/nandana/contacts/raul
Raul’s
Contact
Miguel’s
Contact
ldp:contains
ldp:contains
Nandana
foaf:knows
foaf:knows
http://example.org/nandana#me
http://example.org/nandana/contacts/miguel
Fernando’s
Contact
foaf:knows
ldp:contains
http://example.org/nandana/contacts/fernando
38. Center for
Open
Middleware
Direct Containers
After the resource creation
38
HTTP/1.1 200 OK
Content-Type: text/turtle; charset=UTF-8
Link: <http://www.w3.org/ns/ldp#DirectContainer>; rel='type', <http://www.w3.org/ns/ldp#Resource>;
rel='type‘
ETag: W/'123456711'
Allow: OPTIONS,HEAD,GET,POST
Accept-Post: text/turtle
Content-Length: 250
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ldp: <http://www.w3.org/ns/ldp#>.
a containment triple is added for the newly created resource
<http://example.org/nandana/friends/> a a ldp:Container, ldp:DirectContainer;
ldp:membershipResource <http://example.org/nandana#me>;
ldp:hasMemberRelation foaf:knows;
dc:title ‘Nandana’s contact list’;
ldp:contains <http://example.org/nandana/friends/raul>,
<http://example.org/nandana/friends/miguel>, <http://example.org/nandana/friends/fernando> .
<http://example.org/nandana#me> foaf:knows <http://example.org/nandana/friends/raul>,
<http://example.org/nandana/friends/miguel> , <http://example.org/nandana/friends/fernando> .
a membership triple is added for the newly created resource
200 OK
39. Center for
Open
Middleware
Few simple scenarios
39
• Looking up a Linked Data resource (GET on LDPR)
• Modifying a Linked Data resource (PUT/PATCH on LDPR)
• Creating Linked Data resources
• Basic Container (POST on LDP-BC)
• Direct Container (POST on LDP-DC)
• Indirect Container (POST on LDP-IC)
• PUT to create
• Deleting a Linked Data resource (DELETE on LDPR)
• Managing non-RDF resources
40. Center for
Open
Middleware
LDP Indirect Container
40
Subject Predicate Object
Pattern membership-constant-URI membership-predicate member-derived-URI
Example http://example.org/nandana#me foaf:knows http://example.org/nandana/contacts/raul
Nandana’s
Contact List
<<Indirect Container>>
Raul’s
Contact
ldp:contains
http://www.garcia-castro.com/foaf#me
foaf:knows
http://example.org/nandana#me
http://example.org/miguel#me
Nandana foaf:knows
Raul
Miguel
• Maintains the containment triple similar to the basic containers
• Maintains membership triples
• Full flexibility with the membership triples
defined in the container
Miguel’s
Contact
ldp:contains
41. Center for
Open
Middleware
Indirect Containers
41
HTTP/1.1 200 OK
Content-Type: text/turtle; charset=UTF-8
Link: <http://www.w3.org/ns/ldp#DirectContainer>; rel='type', <http://www.w3.org/ns/ldp#Resource>; rel='type‘
ETag:W/'123456711'
Allow: OPTIONS,HEAD,GET,POST
Accept-Post: text/turtle
Content-Length: 250
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ldp: <http://www.w3.org/ns/ldp#>.
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
ldp:insertedContentRelation defines how to select
the object of the membership triple
<http://example.org/nandana/friends/> a a ldp:Container, ldp:IndirectContainer;
200 OK
ldp:membershipResource <http://example.org/nandana#me>;
ldp:hasMemberRelation foaf:knows;
ldp:insertedContentRelation vcard:hasURL;
dc:title ‘Nandana’s contact list’;
ldp:contains <http://example.org/nandana/friends/raul>, <http://example.org/nandana/friends/miguel> .
<http://example.org/nandana#me> foaf:knows <http://www.garcia-castro.com/foaf#me>,
<http://example.org/miguel#me> .
42. Center for
Open
Middleware
LDP Indirect Container
Creating an LDPR
42
Nandana’s
Contact List
<<Indirect Container>>
ldp:contains
ldp:contains
Nandana
foaf:knows
foaf:knows
Raul’s
Contact
Miguel’s
Contact
http://www.garcia-castro.com/foaf#me
http://example.org/nandana#me
Raul
POST
Fernando
<> v:hasURL <#me>.
Raul
http://example.org/miguel#me
43. Center for
Open
Middleware
LDP Indirect Container
Creating an LDPR
43
POST /nandana/contacts/ HTTP/1.1
Host: example.org
Slug: fernando
Content-Type: text/turtle
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
<> a vcard:Individual;
vcard:hasURL <#me> ;
vcard:hasEmail <mailto:fernado@example.com>;
vcard:fn "Fernando Serena";
vcard:hasTelephone [ a vcard:Home, vcard:Voice;
vcard:hasValue <tel:+34655555555> ] .
POSTed resource contains a triple with the predicate
defined in the ldp:insertedContentRelation
HTTP/1.1 201 Created
Location: http://example.org/nandana/friends/fernando
Link: <http://www.w3.org/ns/ldp#Resource>; rel=‘type’
Content-Length: 0
POST
201 Created
44. Center for
Open
Middleware
Indirect Containers
After the resource creation
44
Nandana’s
Contact List
<<Indirect Container>>
ldp:contains
ldp:contains
Nandana
foaf:knows
foaf:knows
foaf:knows
http://www.garcia-castro.com/foaf#me
http://example.org/nandana#me
Raul
http://example.org/miguel#me
http://example.org/fernando#me
ldp:contains
Raul
Miguel
Fernando
Miguel
Fernando
45. Center for
Open
Middleware
Indirect Containers
After the resource creation
45
HTTP/1.1 200 OK
Content-Type: text/turtle; charset=UTF-8
Link: <http://www.w3.org/ns/ldp#IndirectContainer>; rel='type', <http://www.w3.org/ns/ldp#Resource>;
rel='type‘
ETag: W/'123456711'
Allow: OPTIONS,HEAD,GET,POST
Accept-Post: text/turtle
Content-Length: 250
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ldp: <http://www.w3.org/ns/ldp#>.
<http://example.org/nandana/friends/> a a ldp:Container, ldp:DirectContainer;
ldp:membershipResource <http://example.org/nandana#me>;
ldp:hasMemberRelation foaf:knows;
dc:title ‘Nandana’s friends’;
ldp:contains <http://example.org/nandana/friends/raul>,
<http://example.org/nandana/friends/miguel>, <http://example.org/nandana/friends/fernando> .
<http://example.org/nandana#me> foaf:knows <http://www.garcia-castro.com/foaf#me>,
<http://example.org/miguel#me> <http://example.org/fernando#me> . .
200 OK
a containment triple is added for the newly created resource
a membership triple is added for the newly created resource
the object of the membership triple is selected
based on ldp:insertedContentRelation
46. Center for
Open
Middleware
Few simple scenarios
46
• Looking up a Linked Data resource (GET on LDPR)
• Modifying a Linked Data resource (PUT/PATCH on LDPR)
• Creating Linked Data resources
• Basic Container (POST on LDP-BC)
• Direct Container (POST on LDP-DC)
• Indirect Container (POST on LDP-IC)
• PUT to create (PUT)
• Deleting a Linked Data resource (DELETE on LDPR)
• Managing non-RDF resources
47. Center for
Open
Middleware
Creating a Linked Data resource
PUT on a non-existing URI
47
• Clients can decide the URI to be used
PUT /nandana/contacts/fernando HTTP/1.1
Host: example.org
Content-Type: text/turtle
the URI for the resource to be created
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
< http://example.org/nandana/contacts/fernando> a vcard:Individual;
vcard:hasURL <http://example.org/fernando#me> ;
vcard:hasEmail <mailto:fernado@example.com>;
vcard:fn "Fernando Serena";
vcard:hasTelephone [ a vcard:Home, vcard:Voice;
vcard:hasValue <tel:+34655555555> ] .
HTTP/1.1 204 No Content
Link: <http://www.w3.org/ns/ldp#Resource>; rel=‘type’
PUT
204 No Content
48. Center for
Open
Middleware
Few simple scenarios
48
• Looking up a Linked Data resource (GET on LDPR)
• Modifying a Linked Data resource (PUT/PATCH on LDPR)
• Creating Linked Data resources
• Basic Container (POST on LDP-BC)
• Direct Container (POST on LDP-DC)
• Indirect Container (POST on LDP-IC)
• PUT to create
• Deleting a Linked Data resource (DELETE on LDPR)
• Managing non-RDF resources
49. Center for
Open
Middleware
Deleting a Linked Data document
49
DELETE /nandana/contacts/fernando HTTP/1.1
Host: example.org
HTTP/1.1 204 No Content
Link: <http://www.w3.org/ns/ldp#Resource>; rel=‘type’
DELETE
204 No Content
• Corresponding containment triples and membership triples will be removed from the containers
upon deletion
• E.g., in the Indirect Container example following triples will be removed
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ldp: <http://www.w3.org/ns/ldp#>.
<http://example.org/nandana/contacts/> ldp:contains <http://example.org/nandana/contacts/fernando> .
<http://example.org/nandana#me> foaf:knows <http://example.org/fernando#me> .
50. Center for
Open
Middleware
Few simple scenarios
50
• Looking up a Linked Data resource (GET on LDPR)
• Modifying a Linked Data resource (PUT/PATCH on LDPR)
• Creating Linked Data resources
• Basic Container (POST on LDP-BC)
• Direct Container (POST on LDP-DC)
• Indirect Container (POST on LDP-IC)
• PUT to create
• Deleting a Linked Data resource (DELETE on LDPR)
• Managing non-RDF resources
51. Center for
Open
Middleware
Managing non-RDF resources
A container for managing photos
51
• LDPRs can be non-RDF sources (LDP-NR)
• An LDP-NR source typically has an associated LDP-RS to
contain data about the LDP-NR
Nandana’s
Photo Gallery
<<Basic Container>>
ldp:contains
ldp:contains
describedby
describedby
http://example.org/nandana/photos/
http://example.org/nandana/photos/sigiriya
http://example.org/nandana/photos/sigiriya/meta
http://example.org/nandana/photos/eiffel
http://example.org/nandana/photos/eiffel/meta
52. Center for
Open
Middleware
52
Managing non-RDF resources
A container for managing photos
OPTIONS /nandana/photos/ HTTP/1.1
Host: example.org
OPTIONS
HTTP/1.1 204 No Content
Link: <http://www.w3.org/ns/ldp#BasicContainer>; rel='type', <http://www.w3.org/ns/ldp#Resource>;
rel='type'
Allow: OPTIONS,HEAD,GET,POST
Accept-Post: image/png, image/jpeg
204 No Content
advertises support for non-RDF (binary) resource creation
53. Center for
Open
Middleware
53
Managing non-RDF resources
Creating a new binary resource
http://example.org/nandana/photos/Nandana’s
Photo Gallery
<<Basic Container>>
ldp:contains
ldp:contains
http://example.org/nandana/photos/
http://example.org/nandana/photos/sigiriya
POST
54. Center for
Open
Middleware
54
Managing non-RDF resources
Creating a new binary resource
POST /nandana/photos/ HTTP/1.1
Host: example.org
Slug: monalisa
Content-Type: image/png
Content- Length: 1020
### binary content of the image ###
POST
HTTP/1.1 201 Created
201 Created
Location: http://example.org/nandana/photos/monalisa
Link: <http://www.w3.org/ns/ldp#NonRDFSource>; rel="type“, <http://www.w3.org/ns/ldp#Resource>;
rel="type“
Link: <http://example.org/nandana/photos/monalisa/meta>; rel="describedby“
Content-Length: 0
provides the URI of the newly created resource
provides the URI of an associated LDP-RS that contains the data about the binary resource
55. Center for
Open
Middleware
55
Managing non-RDF resources
Looking up the new binary resource
GET /nandana/photos/monalisa HTTP/1.1
Host: example.org
Accept: image/png
HTTP/1.1 200 OK
Content-Type: image/png
Link: <http://www.w3.org/ns/ldp#NonRDFSource>; rel="type“, <http://www.w3.org/ns/ldp#Resource>;
rel="type“
Link: <http://example.org/nandana/photos/monalisa/meta>; rel="describedby“
ETag: “123456790”
Allow: OPTIONS,HEAD,GET, DELETE
Content-Length: 1020
### binary content of the image ###
GET
200 OK
provides the URI of an associated LDP-RS that contains
the data about the binary resource
56. Center for
Open
Middleware
56
Managing non-RDF resources
Looking up the associated LDP-RS
GET /nandana/photos/monalisa/meta HTTP/1.1
Host: example.org
Accept: text/turtle
HTTP/1.1 200 OK
Content-Type: text/turtle
Link: <http://www.w3.org/ns/ldp#Resource>; rel="type“
ETag: “123456793”
Allow: OPTIONS,HEAD,GET, PUT, DELETE
prefix wdrs: <http://www.w3.org/2007/05/powder-s#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
<http://example.org/nandana/photos/monalisa> wdrs:describedby
<http://example.org/nandana/photos/monalisa/meta> ;
dcterms:creator <http://example.org/nandana#me>;
dcterms:created "2013-05-05T10:00"^^xsd:dateTime .
GET
200 OK
57. Center for
Open
Middleware
References
57
• Linked Data Platform 1.0
• http://www.w3.org/TR/ldp/
• Linked Data Platform 1.0 Primer
• http://www.w3.org/TR/ldp-primer/
• Linked Data Platform Best Practices and Guidelines
• http://www.w3.org/TR/ldp-bp/
• Linked Data Platform Paging 1.0
• http://www.w3.org/TR/ldp-paging/
• Linked Data Patch Format
• http://www.w3.org/TR/ldpatch/
58. Center for
Open
Middleware
Nandana Mihindukulasooriya,
Center for Open Middleware / Ontology Engineering Group
Universidad Politécnica de Madrid,
Spain.
Questions?
@nandanamihindu
nmihindu@fi.upm.es
Editor's Notes
Alexandre Bertails, Pierre-Antoine Champin, Andrei Sambra., Linked Data Patch Format http://www.w3.org/TR/ldpatch/
Andy Seaborne, Rob Vesse RDF Patch – Describing Changes to an RDF Dataset http://afs.github.io/rdf-patch/
Sandro Hawke. Turtle Patch http://www.w3.org/2001/sw/wiki/TurtlePatch
Eric Prud'hommeaux SparqlPatch http://www.w3.org/2001/sw/wiki/SparqlPatch