public function testBuildGraphForPost() { \EasyRdf_Namespace::set('sioct', 'http://rdfs.org/sioc/types#'); $builder = new RdfBuilder(new MockedLocalWebIdService()); $post = new \WP_Post(); $post->ID = 1; $post->post_type = 'post'; $post->post_title = 'My first blog post'; $post->post_modified = '2013-04-17 20:16:41'; $post->post_date = '2013-03-17 19:16:41'; $post->post_content = 'The posts content'; $post->post_author = 1; $graph = $builder->buildGraph($post, null); $postUri = 'http://example.com/1#it'; $it = $graph->resource($postUri); $this->assertEquals('sioct:BlogPost', $it->type()); $this->assertProperty($it, 'dc:title', 'My first blog post'); $this->assertProperty($it, 'sioc:content', 'The posts content'); $this->assertProperty($it, 'dc:modified', \EasyRdf_Literal_Date::parse('2013-04-17 20:16:41')); $this->assertProperty($it, 'dc:created', \EasyRdf_Literal_Date::parse('2013-03-17 19:16:41')); $blogResource = $graph->resource('http://example.com#it'); $this->assertProperty($it, 'sioc:has_container', $blogResource); $creator = $graph->get($postUri, 'sioc:has_creator'); $this->assertEquals('http://example.com/author/1#account', $creator->getUri()); $this->assertEquals('sioc:UserAccount', $creator->type()); $this->assertProperty($creator, 'sioc:name', 'Mario Mustermann'); }
public function testParse() { $literal = EasyRdf_Literal_Date::parse('5th August 2011'); $this->assertStringEquals('2011-08-05', $literal); $this->assertClass('DateTime', $literal->getValue()); $this->assertSame(null, $literal->getLang()); $this->assertSame('xsd:date', $literal->getDatatype()); }
private function buildGraphForPost($graph, $post) { $type = $this->getRdfTypeForPost($post); $post_uri = $this->getPostUri($post); $post_resource = $graph->resource($post_uri, $type); $post_resource->set('dc:title', $post->post_title); $post_resource->set('sioc:content', strip_tags($post->post_content)); $post_resource->set('dc:modified', \EasyRdf_Literal_Date::parse($post->post_modified)); $post_resource->set('dc:created', \EasyRdf_Literal_Date::parse($post->post_date)); $author = get_userdata($post->post_author); $accountUri = $this->webIdService->getAccountUri($author); $accountResource = $graph->resource($accountUri, 'sioc:UserAccount'); $accountResource->set('sioc:name', $author->display_name); $post_resource->set('sioc:has_creator', $accountResource); $blogUri = $this->getBlogUri(); $blogResource = $graph->resource($blogUri, 'sioct:Weblog'); $post_resource->set('sioc:has_container', $blogResource); return $graph; }
public function do_content_WP_Post($graph, $post) { $post_resource = $graph->resource($post->guid, 'sioc:Post'); $graph = apply_filters("lh_rdf_nodes", $graph, $post->guid, $post); $graph = $this->WP_Post_types($graph, $post); $post_resource->set('dc:title', $post->post_title); $post_resource->set('dcterms:identifier', $post->ID); $post_resource->set('dc:modified', \EasyRdf_Literal_Date::parse($post->post_modified)); $post_resource->set('dc:created', \EasyRdf_Literal_Date::parse($post->post_date)); $post_resource->set('sioc:link', $graph->resource(get_the_permalink())); $post_resource->set('sioc:has_creator', $graph->resource($this->return_user_uri($post->post_author))); $post_resource->set('sioc:has_container', $graph->resource(get_bloginfo("url") . "/#posts")); $authorseealso = $graph->resource($this->return_user_uri($post->post_author)); $authorseealso->set('rdfs:seeAlso', $graph->resource($this->return_seeAlso_resource(get_author_posts_url($post->post_author)) ?: null)); $post_resource->set('dc:abstract', strip_tags($post->post_excerpt)); $post_resource->set('content:encoded', new EasyRdf_Literal_XML("<![CDATA[" . do_shortcode($post->post_content) . "]]>")); $post_resource->set('sioc:content', strip_tags(do_shortcode($post->post_content))); if (has_post_thumbnail()) { $thumbnail = get_post(get_post_thumbnail_id()); $post_resource->set('foaf:depiction', $graph->resource($thumbnail->guid)); $graph->resource($thumbnail->guid)->set('rdfs:seeAlso', $graph->resource(add_query_arg('feed', 'lhrdf', get_attachment_link($thumbnail->ID)) ?: null)); } $graph = $this->WP_Post_taxonomies($graph, $post); $graph = $this->WP_Post_attachments($graph, $post); return $graph; }