GraphCentric developer view
/people/ms
Navigation
Methods
| Method | Status | Basis |
|---|---|---|
| GET | available | representation candidates are configured |
| HEAD | available | GET representation headers |
| OPTIONS | available | HTTP capability discovery |
Resource Details
- URI
- https://graphcentric.com/people/ms
- Graph
- https://graphcentric.com/graphs/public-resources
- Query
- s3://graphcentric.com/public-person.sparql
Link Relations
3 links| rel | title | type | href |
|---|---|---|---|
| alternate | Malcolm Sparks public profile HTML | text/html;charset=utf-8 | https://graphcentric.com/people/ms.html |
| describes | Private people record | https://graphcentric.com/people/22d4c93006d76289b4b7 | |
| https://graphcentric.info/link-relations/resource-configuration | Resource Configuration HTML | text/html;charset=utf-8 | https://graphcentric.com/people/ms.resource-configuration.html |
Resource Configuration Model
Turtle
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX gcs: <https://graphcentric.com/schema/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX schema: <https://schema.org/>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
<https://graphcentric.com/people/ms.html>
rdf:type gcs:WebResource;
gcs:contentType "text/html;charset=utf-8";
gcs:frame <s3://graphcentric.com/public-person-frame.jsonld>;
gcs:graph <https://graphcentric.com/graphs/public-resources>;
gcs:outerTemplate <s3://graphcentric.com/templates/public.html>;
gcs:query <s3://graphcentric.com/public-person.sparql>;
gcs:template <s3://graphcentric.com/public-person.html> .
<https://graphcentric.com/people/ms/.links/resource-configuration-html>
rdf:type gcs:Link;
gcs:rel "https://graphcentric.info/link-relations/resource-configuration";
gcs:target <https://graphcentric.com/people/ms.resource-configuration.html>;
schema:name "Resource Configuration HTML" .
<https://graphcentric.com/people/ms/.links/alternate-html>
rdf:type gcs:Link;
gcs:rel "alternate";
gcs:target <https://graphcentric.com/people/ms.html>;
schema:name "Malcolm Sparks public profile HTML" .
<https://graphcentric.com/people/ms>
rdf:type gcs:WebResource;
gcs:frame <s3://graphcentric.com/public-person-frame.jsonld>;
gcs:graph <https://graphcentric.com/graphs/public-resources>;
gcs:link <https://graphcentric.com/people/ms/.links/alternate-html> , <https://graphcentric.com/people/ms/.links/describes> , <https://graphcentric.com/people/ms/.links/resource-configuration-html>;
gcs:query <s3://graphcentric.com/public-person.sparql> .
<https://graphcentric.com/people/ms.resource-configuration.html>
rdf:type gcs:WebResource;
gcs:contentType "text/html;charset=utf-8";
gcs:graph <https://graphcentric.com/graphs/public-resources> .
<https://graphcentric.com/people/ms/.links/describes>
rdf:type gcs:Link;
gcs:rel "describes";
gcs:target <https://graphcentric.com/people/22d4c93006d76289b4b7>;
schema:name "Private people record" .
SPARQL Query
s3://graphcentric.com/public-person.sparqlBASE <https://graphcentric.com/>
PREFIX schema: <https://schema.org/>
PREFIX gcs: <https://graphcentric.com/schema/>
PREFIX dcterms: <http://purl.org/dc/terms/>
CONSTRUCT {
?_subject
a schema:Person;
dcterms:title ?pageTitle;
dcterms:description ?bio;
schema:name ?name;
schema:jobTitle ?jobTitle;
schema:description ?bio;
gcs:bio ?bio;
schema:url ?personUrl;
gcs:describes ?privatePerson;
gcs:hasArticles ?hasArticles;
gcs:article ?article.
?article
a schema:Article;
schema:headline ?headline;
schema:description ?articleDescription;
gcs:summary ?articleDescription;
schema:datePublished ?datePublished;
schema:url ?url;
schema:position ?position;
schema:image ?image.
?image
a schema:ImageObject;
schema:name ?imageName;
schema:contentUrl ?imageContentUrl;
schema:description ?imageAltText.
}
WHERE {
BIND(IF(STRENDS(STR(?_subject), ".html"), IRI(STRBEFORE(STR(?_subject), ".html")), ?_subject) AS ?publicProfileResource)
GRAPH <graphs/cms> {
?publicProfileResource a schema:Person;
schema:name ?name;
schema:jobTitle ?jobTitle;
schema:description ?bio;
gcs:describes ?privatePerson.
OPTIONAL {
?article a schema:Article;
gcs:published true;
schema:author ?privatePerson;
schema:headline ?headline;
schema:description ?articleDescription;
schema:datePublished ?datePublished;
schema:url ?url;
schema:position ?position.
OPTIONAL {
?article schema:image ?image.
?image schema:name ?imageName;
schema:contentUrl ?imageContentUrl.
OPTIONAL { ?image schema:description ?imageAltText. }
}
BIND(true AS ?hasArticles)
}
}
BIND(CONCAT(?name, " - GraphCentric") AS ?pageTitle)
BIND(IRI(CONCAT(STR(?publicProfileResource), ".html")) AS ?personUrl)
}
Query Scope
Named Graphs
Resource State
Turtle
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX gcs: <https://graphcentric.com/schema/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX schema: <https://schema.org/>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
<https://graphcentric.com/blog/ai-agent-production-database>
rdf:type schema:Article;
gcs:summary "OAuth2 scopes provide a practical way to limit what AI agents can do on behalf of users in production systems. This article shows how a mature web standard can become an enforceable safety boundary before an agent gets anywhere near destructive operations.";
schema:datePublished "2026-04-28"^^xsd:date;
schema:description "OAuth2 scopes provide a practical way to limit what AI agents can do on behalf of users in production systems. This article shows how a mature web standard can become an enforceable safety boundary before an agent gets anywhere near destructive operations.";
schema:headline "How to Prevent Your AI Agent Deleting Your Production Database";
schema:image <https://graphcentric.com/media/blog/ai-agent-production-database/ai-agent-database-guardrails>;
schema:position 3;
schema:url <https://graphcentric.com/blog/ai-agent-production-database.html> .
<https://graphcentric.com/blog/semantic-layer-context>
rdf:type schema:Article;
gcs:summary "AI projects need more than larger models: they need reliable business context. This article explains why context graphs and semantic layers help humans and AI agents access connected, traceable information for better decisions.";
schema:datePublished "2026-05-12"^^xsd:date;
schema:description "AI projects need more than larger models: they need reliable business context. This article explains why context graphs and semantic layers help humans and AI agents access connected, traceable information for better decisions.";
schema:headline "The Rise of the Semantic Layer: Context is King";
schema:image <https://graphcentric.com/media/blog/semantic-layer-context/semantic-layer-context>;
schema:position 1;
schema:url <https://graphcentric.com/blog/semantic-layer-context.html> .
<https://graphcentric.com/media/blog/ai-agent-production-database/ai-agent-database-guardrails>
rdf:type schema:ImageObject;
schema:contentUrl <https://graphcentric.com/media/blog/ai-agent-production-database/ai-agent-database-guardrails.jpg>;
schema:description "Illustration representing guardrails between AI agents and production database operations.";
schema:name "AI Agent Database Guardrails" .
<https://graphcentric.com/media/blog/semantic-layer-context/semantic-layer-context>
rdf:type schema:ImageObject;
schema:contentUrl <https://graphcentric.com/media/blog/semantic-layer-context/semantic-layer-context.jpg>;
schema:description "Illustration representing a semantic layer that connects business context for humans and AI agents.";
schema:name "Semantic Layer Context" .
<https://graphcentric.com/people/ms>
rdf:type schema:Person;
dcterms:description "Malcolm is building GraphCentric around the idea that application data should live in a shared, governed semantic layer rather than inside isolated application silos. His work focuses on RDF, web-native resource design, access-controlled updates, and making enterprise data safely usable by both people and AI agents.";
dcterms:title "Malcolm Sparks - GraphCentric";
gcs:article <https://graphcentric.com/blog/link-relations> , <https://graphcentric.com/blog/ai-agent-production-database> , <https://graphcentric.com/blog/semantic-layer-context>;
gcs:bio "Malcolm is building GraphCentric around the idea that application data should live in a shared, governed semantic layer rather than inside isolated application silos. His work focuses on RDF, web-native resource design, access-controlled updates, and making enterprise data safely usable by both people and AI agents.";
gcs:describes <https://graphcentric.com/people/22d4c93006d76289b4b7>;
gcs:hasArticles true;
schema:description "Malcolm is building GraphCentric around the idea that application data should live in a shared, governed semantic layer rather than inside isolated application silos. His work focuses on RDF, web-native resource design, access-controlled updates, and making enterprise data safely usable by both people and AI agents.";
schema:jobTitle "Founder";
schema:name "Malcolm Sparks";
schema:url <https://graphcentric.com/people/ms.html> .
<https://graphcentric.com/blog/link-relations>
rdf:type schema:Article;
gcs:summary "Link relations give machines explicit cues for how to move through a website without relying on brittle, hardcoded APIs. This article explains why the original web model was already agent-friendly and why that matters again in the age of AI agents.";
schema:datePublished "2026-05-04"^^xsd:date;
schema:description "Link relations give machines explicit cues for how to move through a website without relying on brittle, hardcoded APIs. This article explains why the original web model was already agent-friendly and why that matters again in the age of AI agents.";
schema:headline "Link Relations: Why the Original Web Already Knew About AI Agents";
schema:image <https://graphcentric.com/media/blog/link-relations/graphcentric-ai-first-foundation>;
schema:position 2;
schema:url <https://graphcentric.com/blog/link-relations.html> .
<https://graphcentric.com/media/blog/link-relations/graphcentric-ai-first-foundation>
rdf:type schema:ImageObject;
schema:contentUrl <https://graphcentric.com/media/blog/link-relations/graphcentric-ai-first-foundation.jpg>;
schema:description "Illustrated diagram titled GraphCentric AI-First Foundation, with an RDF graph at the center and surrounding access-control and web-application concepts.";
schema:name "GraphCentric AI-First Foundation" .
SSE Status
Stream link relations| stream | status | subscribers | last id | state |
|---|---|---|---|---|
| No stream resources are linked from this resource. | ||||